티스토리 뷰
정규화
이상현상이 있는 릴레이션을 다수의 릴레이션으로 분리하는 과정
무결성 유지, 데이터 일관성🔼, 모델의 응집도🔼
제 1 정규화 (1NF)
모든 속성이 원자값으로 이루어짐
여러개의 주문상품이 하나의 칼럼에 들어가있어 제 1 정규형을 만족시키지 못함
제 1 정규화하여 분리 가능
제 2 정규화 (2NF)
모든 속성이 기본키에 대해 완전 함수 종속을 만족함
기본키 = (고객ID, 상품ID)
(주문 상품), (가격) 속성은 기본키의 부분집합인 (상품ID)만 알아도 식별가능하므로 기본키에 부분 함수 종속
상품 테이블을 별도로 분리하여 제 2 정규화 가능함
제 3 정규화 (3NF)
모든 속성이 기본키에 대해 이행 함수 종속이 되지 않음
종속성: 고객ID -> 등급, 등급 -> 할인율 일 때, 고객ID -> 할인율 이 성립되어 이행 함수 종속을 가짐
고객ID -> 등급, 등급 -> 할인율 두 개의 릴레이션으로 분리하여 제 3 정규화
BCNF (Boyce-Codd Normal Form)
모든 결정자가 후보키가 됨
종속성: (학번, 과목) -> 지도교수, 지도교수 -> 과목
후보키 집합이 아닌 칼럼이 결정자가 됨
학번 -> 과목, 지도 교수 -> 과목 으로 분리하여 BCNF 만족
제 4 정규화 (4NF)
다치종속 제거
제 5 정규화 (5NF)
조인종속이 후보키를 통해서만 성립되게 함
'Computer Science > Database' 카테고리의 다른 글
[Database] 뷰(View) 개념 및 장단점 (0) | 2022.08.30 |
---|---|
[Database] 반정규화 / 역정규화 (Denormalization) (0) | 2022.08.29 |
[Database] 함수적 종속 (Functional Dependency) (0) | 2022.08.28 |
[Database] 데이터베이스 이상현상 (Anomaly) (0) | 2022.08.27 |
[Database] 무결성 제약 조건 (Integrity Constraint) (0) | 2022.08.27 |
댓글