데이터베이스에 관한 기본적인 개념과 설계에 용이한 원칙을 설명한다
정규화 와 통합화(일반화 ) 가 DB 모델링의 전부이다
엔티티
엔티티의 개념적 분류 방법
엔터티 설계 원칙
정규화
| 종류 | 원론 | 내용 |
|---|---|---|
| NFNF | 정규화가 전혀 이루어지지 않은 릴레이션 | 없음 |
| 1 정규형 | 모든 속성은 원자값(하나의 값)을 가진다 | 다중 속성(Mutil Value), 복합 속성(Composite Value)이 없어야 한다. |
| 중복 속성이 없어야 한다. | ||
| 2 정규형 | 모든 속성이 후보 식별자 전체에 대해 종속적이다. | 후보 식별자(후보 키) 전체에 종속적이지 않은 속성은 없어야 한다. |
| 부분 함수 종속이 없어야 한다. | ||
| 3 정규형 | 일반 속성 간에는 종속성이 존재해서는 안된다. | 키가 아닌 일반 속성간에 관계는 없어야 한다. |
| BC 정규형 | 3정규형의 확장. 모든 결정자는 주 식별자다. | 결정자가 주 식별자만 남을 때 까지 정규화된 형태 |
| 4 정규형 | 두 개의 독립적이 1:M 관계가 한 개의 릴레이션에 존재하면 안된다. | |
| 5 정규형 | 조인으로 다시 원래의 릴레이션으로 복원 가능하지 않아야 한다. | 현실에서는 시간 제약으로 거의 불가능하다. |
| 서브 타입 | 코드 타입 |
|---|---|
| 전체 집합에 대한 부분 집합을 표현 | 특정 속성의 구분을 표현 |
| 전체 집합의 성격 파악이 가능 | 한 속성의 성격 파악이 가능 |
| 속한 속성이 여러 개 | 단일 속성 |
| 한 엔터티에 한 개만 존재 | 한 엔터티에 여러 개 존재 가능 |
서브 타입 구성에 대한 팁
속성 (Attribute)
| 의미 | 반대 의미 ( 없는 경우 하나의 로우로 정의 ) |
|---|---|
| 식별자 | 비 식별자 |
| 기초 / 관계 / 추출/ 시스템 | |
| 원본 | 추출 |
| 단일 ( Single Value ) | 다가 ( Multi Value ) |
| 단순 ( ex: 성별 ) | 복합 ( ex : 주소 ) |
| 필수 ( not null ) | 선택 ( nullable ) |
| 코드 | 비 코드 |
기초 / 관계 / 추출/ 시스템 속성의 정의
속성 Type의 선택방법
식별자