본문 바로가기
자격증/SQLD

1-1. 데이터 모델링의 이해) 01 데이터 모델링의 이해

by ornni 2024. 9. 24.
728x90
반응형
(1) 모델링이란?

ex) “배가 고파서 음식을 주문한다.” 도식화

모델
현실 세계에서 일어날 수 있는 다양한 현상에 대해 일정한 표기법에 의해 표현해놓은 모형

모델링
모델을 만들어가는 일
현실세계에서 필요한 데이터를 저장하는 데이터베이스를 구축하기 위한 분석/설계 과정
현실세계 반영, 단순화, 관리하고자 하는 데이터 설계
데이터베이스에서의 모델링: 현실세계를 단순화하여 표현하는 기법


(2) 모델링의 특징
1. 추상화 (Abstraction)
현실세계를 일정한 형식으로 표현한 것
이이디어, 개념을 간략하게 표현하는 과정

2. 단순화 (Simplification)
복잡한 현실세계를 정해진 표기법으로 단순, 쉽게 표현

3. 명확화 (Clarity)
불분명함 제거
명확한 해석을 할 수 있도록 기술

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


(3) 모델링의 세 가지 관점
1. 데이터 관점 (What, Data)
데이터 위주의 모델링
어떤 데이터들이 업무와 얽혀있는지
그 데이터 간에는 어떤 관계가 있는지

2. 프로세스 관점 (How, Process)
프로세스 위주의 모델링
이 업무가 실제로 처리하고 있는 일이 무엇인지
앞으로 처리해야 하는 일이 무엇인지

3. 데이터와 프로세스의 상관관점 (Data vs. Process Interaction)
데이터와 프로세스의 관계 위주의 모델링
프로세스의 흐름에 따라 데이터가 어떤 영향을 받는지

데이터의 품질 (데이터의 신뢰도, 정확도 등 척도)을 보장하기 위해 데이터 모델링 시 다음 사항에 유의
1. 중복 (Duplication)
같은 데이터가 여러 엔터티에 중복으로 지정되는 현상 지양

2. 비유연성 (Inflexibility)
데이터 모델의 설계에 따라 애플리케이션의 사소한 변경에도 데이터의 모델이 수시로 변경되어야 하는 상황이 생길 수 있음
이런 상황은 시스템 유지보수에 어려움을 가중시키므로 데이터 모델과 프로세스를 분리하여 유연성을 높여야 함

3. 비일관성 (Inconsistency)
데이터의 중복이 없는 경우에도 비일관성 발생 가능
개발자가 다른 데이터와의 연관성을 고려하지 않고 일부 데이터만 변경할 수 있으므로, 이를 예방하기 위해 데이터 모델링 시 데이터간의 연관관계에 대해 명확한 정의 필요


(4) 모델링의 세 가지 단계

1. 개념적 데이터 모델링 (Conceptual Data Modeling)

전사(전체 회사 차원의)적 데이터 모델링 수행 시 행해지며 추상화 레벨이 가장 높은 모델링 업무 중심적, 포괄적 수준의 모델링 진행

 

2. 논리적 데이터 모델링 (Logical Data Modeling)

재사용성이 가장 높은 모델링

데이터베이스 모델링에 대한 key, 속성, 관계 등을 모두 표현하는 단계

 

3. 물리적 데이터 모델링 (Physical Data Modeling)

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


(5) 데이터의 독립성

ANSI-SPARC 분리목적

데이터베이스에 대한 사용자들의 관점, 데이터베이스가 실제로 표현하는 방식을 분리하기 위해


(6) ERD (Entinity Relationship Diagram)

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

1. ERD 표기 방식

. Peter Chain

. IDEF1X

. IE/Crow’s Foot (까마귀발 표기법)

. Min-Max / ISO

. UML

. Case * Method / Barker

 

2. IE/Crow’s Foot 표기법

 

3. ERD 작성 순서

. 엔터티 도출, 그림

. 엔터티 적절 배치

. 엔터티 간 관계 설정

. 관계명 기입

. 관계의 참여도 기입

. 관계의 필수/선택 여부 기입

 

시스템 분석을 위한 모델링 기능

- 시스템이 향후 변화하고자 하는 모습 가시화

- 시스템 구축 과정에서 결정한 것 문서화

- 시스템을 구축하는 구조화된 틀 제공

- 시스템의 구조, 행동 명세화

반응형