데이터베이스/데이터베이스 공부

정규화(제1정규형, 제2정규형, 제3정규형, 보이스/코드 정규형)

아밍나 2022. 8. 16. 20:22
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

 

함수 종속성(완전 함수 종속, 부분함수 종속, 이행함수 종속)의 개념

함수 종속성 (functional dependency) '데이터베이스의 릴레이션 R(테이블)에서 X와 Y를 R의 부분집합이라고 할 때, X의 값 각각에 대해 Y의 값이 오직 하나로 결정 될때 Y는 X에 종속 된다고 한다.' 위의

developer111.tistory.com

정규형 - [DB] 8. 정규형 (1NF, 2NF, 3NF, BCNF) (rebro.kr)

 

[DB] 8. 정규형 (1NF, 2NF, 3NF, BCNF)

[목차] 1. 제1 정규형 2. 제2 정규형 3. 제3 정규형 4. BCNF 정규형이란 정규화된 결과를 말하며, 제1 정규형, 제2 정규형, 제3 정규형, BCNF, 제4 정규형, 제5 정규형이 있다. 실무적으로 제4, 제5 정규형은

rebro.kr

정규형 - https://code-lab1.tistory.com/48

728x90
반응형