
| 단계 | 내용 |
|---|---|
| 개념적 모델링 | Entity, Attribute 추출 Entity 관계 정의 → ER-Diagram 작성 |
| 논리적 모델링 | ER-Diagram을 Mapping rule에 의해 → 관계 스키마 설계 + 정규화 |
| 물리적 모델링 | DBMS 선정 → 컬럼, 데이터타입, 인덱스 정의, 역정규화, ... 물리적 스키마 |
요구 분석
개념적 모델링
| 속성 유형 | 내용 |
|---|---|
| 기초 속성 | 개체가 원래 갖고 있는 속성 |
| 추출 속성 | 기초 속성을 가공(계산)해서 얻을 수 있는 속성 |
| 설계 속성 | 실존하진 않고, 시스템의 효율을 위해 설계자가 임의로 부여한 속성 |
| 식별자 | 내용 |
|---|---|
| 후보키 (Candidate Key) | 개체를 구분할 수 있는 속성 |
| 기본키 (Primary Key) | 후보키 중 가장 적합한 속성 |
| 대체키 (Alternate Key) | 후보키 - 기본키 = 대체키 |
| 후보키 (Composite Key) | 하나의 속성으로 기본키가 될 수 없는 경우 여러 속성을 묶어 식별자로 정의 먼저 오는 속성에 인덱스, 유일성이 적용 |
| 대리키 (Surrogate Key) | 복합키를 대신할 식별자, 역정규화 |
| 관계 | 내용 |
|---|---|
| 1:1 관계 | 일 대 일 관계, 하나의 개체가 하나의 개체에 대응 |
| 1:N 관계 | 일 대 다 관계, 하나의 개체가 여러 개체에 대응 |
| N:M 관계 | 다 대 다 관계, 여러개체가 여러 개체에 대응, 부모 테이블에 N으로 표기 |

| 종류 | 기호 |
|---|---|
| 개체 | 사각형 |
| 속성 | 타원 |
| 식별자 | 언더라인 |
| 관계 | 마름모 |
논리적 모델링
| 종류 | 내용 |
| 제1정규화(1NF) | 모든 속성의 도메인이 원자 값(atomic value)으로만 구성되어 있으면 제 1정규형에 속함 반복되는 속성을 제거한 뒤 테이블에 기본키를 추가해 새로운 테이블 생성 |
| 제2정규화(2NF) | 부분 함수적 종속성을 제거 부분 함수 종속성 : '복합키'에 전체적으로 의존하지 않는 속성 |
| 제3정규화(3NF) | 이행 함수적 종속성을 제거 이행 함수 종속성 : 기본키가 아닌 키에 종속 |
| BCMF | 모든 결정자가 후보키 |
| 제4정규화(4NF) | 다치 종속성관계를 제거 다치 종속 : 두 속성이 1:N관계로 대응되는 상황 |
| 제5정규화(5NF) | 조인 종속성 : 연관성이 없는 조인이 단일 관계 엔티티에 있어 이상현상 발생 |
물리적 모델링