SQLD/데이터 모델링의 이해

데이터 모델의 이해

hyerimir 2023. 3. 12. 17:10

 

데이터베이스의 모델링 : 현실세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현하는 기법

- 추상화; 현실세계를 일정한 형식으로 표현하는 것, 즉 아이디어나 개념을 간략하게 표현하는 과정

- 단순화; 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현한다는 의미

- 명확화; 불분명함을 제거하고 명확하게 해석할 수 있도록 기술한다는 의미

 

모델링이 갖춰야 할 조건

- 현실세계를 반영해야 한다

- 단순화하여 표현해야 한다

- 관리하고자 하는 데이터를 모델로 설계한다

 

모델링의 세가지 관점

- 데이터 관점(what, data); 데이터 위주의 모델링, 어떤 데이터들이 업무와 얽혀있는지, 그리고 그 데이터간에는 어떤 관계가 있는지에 대해서 모델링하는 방법

- 프로세스 관점(how, process); 프로세스 위주의 모델링, 이 업무가 실제로 처리하고 있는 일은 무엇인지 또는 앞으로 처리해야 하는 일은 무엇인지를 모델링하는 방법

- 데이터와 프로세스의 상관 관점(data vs process, interaction); 데이터와 프로세스의 관계를 위주로 한 모델링, 프로세스의 흐름에 따라 데이터가 어떤 영향을 받는지를 모델링하는 방법

 

모델링의 세 가지 단계

- 개념적 데이터 모델링; 전사적 데이터 모델링 수행 시 행해지며 추상화 레벨이 가장 높은 모델링, 이 단계에서는 업무 중심적이고 포괄적인 수준의 모델링이 진행됨

- 논리적 데이터 모델링; 재사용성이 가장 높은 모델링으로 데이터베이스 모델에 대한 key, 속성, 관계 등을 모두 표현하는 단계

- 물리적 데이터 모델링; 실제 데이터베이스로 구현할 수 있도록 성능이나 가용성 등의 물리적인 성격을 고려하여 모델을 표현하는 단계

 

3단계 스키마 구조

- 외부 스키마; 사용자의 관점, view 단계, 여러 개의 각 사용자가 보는 데이터베이스의 스키마를 정의

- 개념 스키마; 통합적 관점, 모든 사용자가 보는 데이터베이스의 스키마를 통합하여 전체 데이터베이스를 나타냄, 데이터베이스에 저장되는 데이터들을 표현하고 데이터들 간의 관계를 나타냄

- 내부 스키마; 물리적인 관점, 물리적인 저장 구조를 나타내며 실질적인 데이터의 저장 구조나 컬럼 정의, 인덱스 등이 포함됨

 

3단계 스키마 구조가 보장하는 독립성

- 논리적 독립성 : 개념 스키마가 변경되어도 외부 스키마는 영향받지 않는다

- 물리적 독립성 : 내부 스키마가 변경되어도 외부/개념 스키마는 영향받지 않는다

 

ERD(entity relationship diagram)

; 시스템에 어떤 엔터티들이 존재하며 그들 간에 어떤 관계가 있는지를 나타내는 다이어그램

 

ERD  작성 순서

1. 엔터티를 도출하고 그린다

2. 엔터티를 적절하게 배치한다

3. 엔터티 간의 관계를 설정한다

4. 관계명을 기입한다

5. 관계의 참여도를 기입한다

6. 관계의 필수/선택 여부를 기입한다

 

ex) IE/Crow's Foot 표기법