Data Modeling

  • 데이터 모델링이란 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
  • 현실 세계의 데이터를 약속된 표기법으로 표현하는 과정
  • 데이터베이스를 구축하기 위한 분석 및 설계의 과정

Data Modeling 특징

  1. 추상화 : 현실세계를 일정한 형식에 맞추어 표현하려는 추상화의 의미를 갖는다.
  2. 단순화 : 복잡한 현실을 제한된 언어나 표기법으로 이해하기 쉽게할 수 있다.
  3. 정확화(명확화) : 애매모함을 배제하고 누구나 이해가 가능하도록 정확하게 현상을 기술할 수 있다.

Data Modeling 의 중요성

  1. 파급효과
  2. 간결한 표현
  3. 데이터 품질 유지

Data Modeling 유의점

중복 (Duplication)

  • 여러 곳에 동일한 정보를 저장하는것을 지양해야 한다.

비유연성 (Inflexibility)

  • 데이터를 어떻게 설계했느냐에 따라 사소한 업무변화에도 데이터모델이 수시로 변경될 수 있다. 따라서 데이터 정의를 데이터의 사용 프로세스와 분리 하여 작은 변화에도 데이터모델이 수시로 변경되는 것을 줄여야 한다.

비일관성 (Inconsistency)

  • Modeling 을 할 때 데이터 간 상호 연관 관계를 명확하게 하여 데이터의 비일관성을 예방하여야 한다.

Data Modeling 3 단계

  1. 개념적 모델링 (계획/분석 = 추상) : ERD 도출, 업무중심, 포괄적인 수준의 모델링
  2. 논리적 모델링 (분석 = 정규화) : 테이블 도출, (key, 속성, 관계)를 표현, 재사용성, 정규화 수행
  3. 물리적 모델링 (설계 = DB) : DB구축, 물리적 성격, 개념적보다 구체적

데이터 독립성

데이터 독립성이란 데이터베이스의 구조와 데이터의 내용이 서로 영향을 미치지 않는 것을 의미한다. 데이터 독립성은 논리적 데이터 독립성과 물리적 데이터 독립성으로 나눌 수 있다.

데이터 독립성 장점

  • 데이터 독립성은 데이터베이스의 유지보수와 확장성을 향상시키는 장점을 갖는다.
  • 데이터베이스의 구조가 변경되더라도 응용 프로그램이나 사용자에게 영향을 주지 않으므로, 시스템의 안정성과 신뢰성을 높일 수 있다.
  • 데이터베이스의 성능이나 보안을 개선하기 위해 필요한 조치를 쉽게 적용할 수 있다.

논리적 데이터 독립성

논리적 데이터 독립성은 데이터베이스의 논리적 구조가 변경되어도 응용 프로그램이나 사용자의 요구에 영향을 주지 않는 것을 말한다.

물리적 데이터 독립성

물리적 데이터 독립성은 데이터베이스의 물리적 구조가 변경되어도 논리적 구조나 데이터의 내용에 영향을 주지 않는 것을 말한다. 예를 들어, 파일의 저장 방식이나 인덱스의 구성이 바뀌어도 데이터베이스의 스키마나 데이터는 그대로 유지될 수 있다.

Data Modeling 3 요소

  1. 엔티티 (Entity) : 데이터베이스를 구성하는 데이터 개체
  2. 관계 (Relationships) : 개체 사이에 존재하는 관계
  3. 속성 (Attributes) : 개체의 특성

데이터베이스 인스턴스 (Instance)

특정 시점에 데이터베이스에 실제로 저장되어 있는 데이터의 값. Entity 의 실제 데이터라고 생각하면 된다.

Database Schema

  • 스키마란 데이터베이스의 구조, 데이터 타입, 제약조건(Constraints) 에 관한 전반적인 명세를 기술한 것이다.
  • 데이터베이스의 논리적인 설계를 나타내며, 데이터베이스에서 어떤 데이터가 저장되고 어떻게 관련되어 있는지를 표현한다.
  • 데이터베이스 의 물리적 모델링 단계(설게 단계)에서 명시되며 자주 변경되지 않는다.

Database Schema 3단계 구조

스키마는 데이터베이스의 전체적인 모습을 보여주는 외부 스키마, 데이터베이스의 물리적인 저장 방식을 결정하는 내부 스키마, 그리고 외부 스키마와 내부 스키마 사이의 관계를 매핑하는 개념 스키마로 구성된다. 이렇게 3단계로 나뉘는 DB 구조를 3단계 데이터베이스 구조라고 한다.

외부 스키마

개념 스키마

내부 스키마

ERD

  • ERD (Entity Relationship Diagram) 는 개체 관계 모델이란 구조화된 데이터에 대한 일련의 표현이다.
  • 관계의 의미를 직관적으로 표현할 수 있는 수단이다.
  • Entity 를 사각형, Relationship 를 마름모, Attributes 를 타원형으로 표현한다.

ERD 작성 순서

  1. 엔터티 도출
  2. 엔티티 배치
  3. 엔티티 간 관계 설정 (가급적 Cycle 이 발생하지 않아야 한다.)
  4. 관계명 기술 (1:1, N:1, 1:N, N:M)
  5. 관계 차수 설정
  6. 선택사양 기술

Reference

데이터 독립성과 스키마

  1. 2
  2. 2 틀
  3. 3
  4. 2
  5. 3
  6. 2
  7. 4
  8. 4
  9. 2
  10. 4 틀
  11. 3 틀
  12. ? 틀
  13. 1
  14. 2
  15. 3
  16. ? 틀
  17. 4 틀
  18. 4
  19. 3
  20. 3 틀
  21. ? 틀
  22. 2
  23. 2
  24. ? 틀
  25. ? 틀
  26. 4
  27. 3 틀
  28. 2
  29. 2
  30. ? 틀
  31. ? 틀
  32. 2
  33. 1