728x90
정규화란?
정규화(normalization): 데이터베이스 이상 현상을 해결하거나, 저장 공간을 효율적으로 사용하기 위해 릴레이션을 여러 개로 분리하는 과정
목적: 반복적인 데이터를 분리하고 각 데이터가 종속된 테이블에 적절하게 배치되도록 하기 위함.
기본 정규형 - 제1정규형, 제2정규형, 제3정규형, 보이스/코드 정규형
고급 정규형 - 제4정규형, 제5정규형
1) 제1정규형
제1정규형(1NF): 릴레이션에 속하는 속성의 속성값이 원자값.
- 릴레이션: 각 개체를 표현하는 속성들의 관계
2) 제2정규형
제2정규형(2NF): 기본키에 속하지 않은 모든 속성이 기본키에 완전 함수 종속.
- 완전 함수 종속: 종속자가 기본키에만 종속. 기본키가 여러 속성으로 구성되어 있다면, 기본키를 구성하는 모든 속성이 포함된 기본키의 부분집합에 종속.
ex) 주민번호(결정자) → 이름(종속자 1)
주민번호(결정자) → 성별(종속자 2)
주민번호를 제외한 속성들(이름, 성별)은 다른 속성에 종속될 수 없다. (이름 → 성별 X)
- 부분 함수 종속: 기본키가 복합키일 때, 기본키를 구성하는 속성 중 일부에게 종속.
ex) 기본키가 {이름, 성별} 일 때,
성립하는 관계: {이름, 성별} → 주소
이름 → 주소
3) 제3정규형
제3정규형(3NF): 이행적 함수 종속성 제거
- 이행 함수 종속: X → Y, Y → Z 일 때 X → Z가 성립한다. (X → Y → Z)
4) 보이스/코드 정규형
보이스/코드 정규형(BCNF): 모든 결정자가 후보키 집합에 속함.
참고 사이트)
완전 함수 종속, 부분 함수 종속, 이행 함수 종속 - https://developer111.tistory.com/80
728x90
반응형
'데이터베이스 > 데이터베이스 공부' 카테고리의 다른 글
트랜잭션과 무결성(트랜잭션, 원자성, 일관성, 고립성, 지속성, 무결성) (0) | 2022.08.18 |
---|---|
SQL 문장들의 종류(DML, DDL, DCL, TCL) (0) | 2022.08.17 |
반정규화 (0) | 2022.08.16 |
성능 데이터 모델링(성능 데이터 모델링 정의, 성능 데이터 모델링 수행 절차) (0) | 2022.08.16 |
데이터베이스의 기본(엔터티, 릴레이션, 속성, 도메인, 필드와 레코드, 관계, 키) (0) | 2022.08.11 |