[정의] 현실 세계의 업무 프로세스를 추상화하여 데이터베이스의 데이터로 표현하기 위한 설계 과정
[단계] 요구사항분석 -> 개념적 모델링 -> 논리적 모델링 -> 물리적 모델링
- 개념적일수록 추상적 --> 물리적일수록 구체적
[개념적 모델링 ERD 작성절차]
1) 주제영역 선정 : 하위주제 영역 또는 데이터 집합들로 구성업무 기능과 대응(상향식, 하향식, Inside-out, 혼합식)
2) 핵심데이터 집합 선정(Entity) : 데이터의 보관 단위로서 주제영역에서 중심이 되는 데이터 집합을 정의(독립중심, 의존중심, 의존특성, 의존연관데이터)
3) 관계설정(Cardinality) : 업무적 연관성에 따라 개체간 갖는 relationship 설정(1:1, 1:N, M:N, 순환관계)
4) 핵심속성 정의(Attribute) : 데이터 집합의 특성을 나타내는 항목 ==> (핵심속성 : 원자단위검증, 유일값 유무판단, 관리수준 상세화 결정)
5) 식별자 정의 (Identifier) : 데이터 집합을 유일하게 식별해주는 속성(PK 로 구현), PK, CK, AK, FK 로 구분.
[논리적 모델링 주요 Task]
1) 엔티티타입 도출 - 기본, 중심, 행위 엔티티타입 도출
2) 관계 도출 - 엔티티 타입간의 관계 도출
3) 식별자 도출 - PK, FK, UK, AK 등에 대한 정의
4) 속성 도출 - 기본, 설계, 파생속성을 정의함
5) 세부사항 도출 - 용어사전, 도메인정의, 속성의 규칙(기본값, 체크값)등 정의
6) 정규화 - 1 차,2 차, 3 차, BCNF, 4 차, 5 차 정규화 적용
7) 통합/분할 - 엔티티타입의 성격에 따라 통합,분할 수행- 수퍼/서브 타입 모델링 수행
8) 완료기준 task: 데이터 모델 검증 - 엔티티타입, 속성, 관계 등에 대한 적합성 검증
[물리적 모델링 주요 변환단계]
(1)일괄전환 : 1) Entity 를 Table 로 전환 : Sub Type 설계 방안 -> 2) 식별자의 PK 정의 : Artificial Key 검토, PK 컬럼 순서 검토 -> 3) 속성을 컬럼으로 전환 : 영문 컬럼명 매핑, 데이터 타입/길이 결정, Domain 정의, 컬럼 순서 결정
4) 관계를 컬럼으로 전환 : 참조무결성 규칙 및 구현방향 결정
(2)구조조정 : 슈퍼타입/서브타입 모델 전환 : 트랜잭션의 성격에 따라 전체 통합, 부분 통합, 개별 유저에 대한 의사 결정을 통해 데이터 모델 조정
(3)성능향상 : 성능을 고려한 반정규화 : SQL 활용 능력의 미흡으로 인한 빈번한 비정규화는 배제하도록 신중하게 검토