1장. 데이터 모델링의 이해
1. 데이터 모델의 이해
- 데이터 모델링: 현실 세계를 단순화하여 표현하는 것.
- 현실 세계의 정보와 업무를 데이터와 기능의 관점으로 분석하는 것
- 데이터베이스를 구축하기 위한 분석 및 설계의 과정
- 데이터 모델링의 특징
- 추상화: 현실을 일정한 양식(표기법)에 맞추어 표현
- 단순화: 누구나 이해하기 쉽도록 약속된 규약에 의한 제한된 표기법 또는 언어를 이용하여 표현
- 명확화: 명확하게 한 가지 해석될 수 있도록 애매모호함을 제거하고 정확하게 현상을 기술
- 데이터 모델링의 관점
- 데이터 관점: 데이터와 업무 간의 관계, 데이터와 데이터 간의 관계가 무엇인지에 따라 모델링. 비즈니스 프로세스에서 사용되는 데이터를 의미.
- 구조 분석, 정적 분석
- 프로세스 관점: 실제 하는 업무에 따라 무엇을 어떻게 하는지 모델링. 비즈니스 프로세스에서 수행하는 작업을 의미.
- 시나리오 분석, 동적 분석
- 데이터와 프로세스의 상관 관점: 업무의 처리(프로세스)와 데이터 간에 서로 어떤 영향을 주고받는지 모델링. 프로세스와 데이터 간의 관계를 의미. 실무에서 가장 많이 쓰임.
- CRUD(Create, Read, Update, Delete)
- 데이터 모델링의 단계
- 개념적 모델링: 추상화 수준이 높고, 업무 중심적인 포괄적인 수준의 모델링
- 엔티티와 속성을 도출하며, 개념적 ERD를 작성하는 단계
- 논리적 모델링: 식별자를 도출하고 속성과 관계 등을 정의
- 정규화를 수행하여 데이터 모델의 독립성과 재사용성을 확보
- 데이터 모델링이 완료된 상태
- 물리적 모델링: 실제 DB에 적용할 수 있도록 물리적인 성능과 데이터 저장을 고려한 설계 단계
- 가장 구체적인 수준의 데이터 모델링으로, 추상화 수준이 가장 낮은 단계
- 성능, 보안, 가용성 등을 고려한 DB 모델링 진행
- 3단계 구조 스키마(3-Level Schema)
- DB의 독립성을 위해 3단계 구조 스키마가 존재
- 사용자(외부 스키마), 설계자(내부 스키마), 개발자(개념 스키마)의 각 관점에 따라 DB를 기술하고, 이들 간의 관계를 ANSI 표준으로 지정
- 데이터의 독립성 확보를 통해 얻는 장점
- 데이터 복잡도 감소
- 데이터 중복 제거
- 사용자 요구 사항 변경에 따른 대응력 향상
- 관리 및 유지보수 비용 절감
- 각 계층을 뷰(VIEW)라고 부르며, 3단계 계층으로 분리되어 서로 독립성을 확보
- 3단계 구조 스키마의 특징
- 외부 스키마: DB의 개별 사용자 관점의 이해와 표현
- 응용 프로그램이 데이터에 접근하는 View를 표현
- 개념 스키마: DB 관리자의 관점으로 규칙과 구조 표현
- DB의 전체적인 논리 구조
- 내부 스키마: DB 시스템 설계자의 관점으로 저장 장치 관점의 이해 및 표현
- 데이터가 실제로 DB에 물리적으로 어떻게 저장되는지 확인
- 데이터 모델링을 위한 ERD(Entity Relationship Diagram)
- 대표적인 표기법: 바커 표기법 (Baker Notation), I/E 표기법 (Information Engineering Notation)
- ERD 작성 순서
- 엔티티 도출
- 엔티티 배치
- 엔티티 관계 설정
- 관계명 기술
- 관계 참여도 기술 → 1:1, 1:N, N:N
- 관계 필수 여부 기술
참고: https://mjn5027.tistory.com/100