본문 바로가기

SQL

Chapter 1. 데이터 모델링의 이해

1. 모델링 (Modeling)

모델링: 현실 세계를 특정 목적에 따라 단순화, 추상화, 명확화하여 이용하기 쉬운 형식으로 표현하는 과정

 

특징

특징 설명
단순화 - 목적을 위해 필요 기능만 선택
- 제한된 언어를 통해 간단히 표현
추상화 - 필요한 부분 / 중요한 부분을 통합하여 표현
- 일정 형식에 맞춰 표현
명확화 - 대상에 대해 명확하게 기술

 

1) 데이터 모델링

- 현실 세계의 존재하는 데이터를 데이터베이스 (DB)로 옮기는 과정

- DB를 구축하기 위한 분석/설계 과정 포함

 

① 데이터 모델이 제공하는 기능

제공 기능 설명
가시화 시스템의 현재 모습 / 원하는 모습을 시각화
구조화 시스템 구축을 위한 구조화된 틀 제공
명세화 시스템의 구조, 행동을 명확히 정의
문서화 시스템 구축 과정의 내용 기록, 보관
다양한 관점 시스템의 다양한 관점 제공 (다른 영역의 세부 사항을 숨김)
표현 방법 제공 목표에 따라 구체화한 표현 방법 제공

 

② 데이터 모델링의 유의점

유의점 설명
비유연성 - 데이터의 정의와 사용 프로세스를 분리
→ 데이터/프로세스의 작은 변화가 앱과 DB에 중대한 변화를 일으킬
가능성을 감소시켜야 함
비일관성 - 데이터 간의 연간 관계를 명확히 정의, 모순이 발생하지 않도록 함
중복성 - 여러 장소의 DB에 같은 정보 저장 X

 

③ 데이터 모델링의 3가지 요소

요소 설명
Things 업무가 관여하는 어떤 것
Attributes Things가 가지는 성격
Relationship Things간의 관계

 

④ 데이터 모델링의 3단계 진행

요소 설명
개념적 데이터 모델링 - 업무 중심적 & 포괄적인 수준의 모델링 진행
- 결과물로 ERD (Entity Relationship Diagram) 도출
- 추상화 수준 높음
논리적 데이터 모델링 - 구축하고자 하는 업무에 대해 식별자, 속성, 관계 등을 정확히 표현
- 데이터 모델의 재사용성 가장 높음
- 데이터 정규화 작업
- 데이터 모델링이 최종적으로 완성된 상태
- 추상화 수준 중간
물리적 데이터 모델링 - DB의 물리적인 성격 (e.g. 성능, 저장)을 고려하여 설계
- 실제 DB 구축 시 참고됨
- 추상화 수준 낮음

ERD (Entity Relationship Diagram): 개체 (entity) 간 관계를 도형으로 표시

정규화 (Normalization): 관계형 DB 데이터의 중복 최소화 / 테이블을 갱신, 삽입, 삭제 시 부작용 발생 방지

 

2) 데이터 독립성과 DB 3단계 구조

데이터 독립성:

- 하위 단계의 데이터 구조 변경이 상위 단계에 영향 X

- DB 구조 변경이 응용프로그램에 영향 X

 

DB 3단계 구조:

- 3단계 구조를 통해 데이터 독립성 확보 가능

단계 스키마 설명
외부 단계 외부 스키마 - 개별 사용자 관점에서 DB를 이해 및 표현
개념 단계 개념 스키마 - 전체 사용자들의 관점을 통합, 조직 전체의 관점에서 이해 및 표현
- DB에 저장되는 데이터 간의 관계 기술
내부 단계 내부 스키마 - 저장 장치의 관점에서 DB를 이해 및 표현
- 데이터가 물리적 장치에 실제로 저장되는 방법 표현

- 데이터 모델링은 통합 관점의 개념 스키마를 만드는 과정

 

3) 데이터 모델의 표기법 (ERD)

- 개체 (entity) 간 관계를 도형으로 표시

 

관계 차수 (Cardinality): 엔티티 내 인스턴스들이 얼마나 관계에 참여하는지를 나타냄

예시:

 

작성 순서:

엔티티 생성/배치 → 엔티티 간 관계 설정 → 관계명 표시 → 관계 차수 표시

 

 

 

 

정리 (두음으로 외우기!)

 

모델링 특징: 단추명 (단순화, 추상화, 명확화)

모델 제공 기능: 가구명문관표 (가시화, 구조화, 명세화, 문서화, 댜앙한 관점, 표현 방법 제공)

모델링 유의점: 유일중 (비유의성, 비일관성, 중복성)

모델링 요소: TAR (Thing, Attribute, Relationship)

모델링 3단계 진행: 개논물 (개념적, 논리적, 물리적 모델링)

DB 3단계 구조: 외개내 (외부, 개념, 내부 단계/스키마)