제3정규형

제3 정규형이란 데이터베이스 정규화의 세 번째 단계로, 다음 조건을 만족해야 한다:
 테이블이 제2 정규형을 만족하고,
 테이블 내의 키가 아닌 모든 컬럼이 테이블의 모든 키에 이행적 종속이 되지 않는다.
즉 제3 정규형은 추이 종속이 존재하지 않음을 요구한다.

 제3정규형 정의 
제3정규형은 데이터베이스 정규화에서 정규형으로 사용된다. 3NF는 E.F Codd에 의해서 1971년 정의되었다.

Codd는 3NF 테이블의 상태정의로 아래와 같은 필요충분 조건을 정의했다.
 릴레이션 R (테이블)은 제2정규형이다.
 릴레이션 R의 키가 아닌 모든 컬럼이 릴레이션 R의 모든 키에 이행적 종속이 되지 않는다.
이행적 함수종속은 기능적 종속으로 X  Y 이고 Y  Z 에 의해서 X  Z (X가 Z를 결정한다) 가 되는 것이다.

예제

+ 대회 우승자 대회  연도  우승자 우승자 생년 월일Des Moines Masters1998Chip Masterson14 March 1977Indiana Invitational1998Al Fredrickson21 July 1975Cleveland Open1999Bob Albertson28 September 1968Des Moines Masters1999Al Fredrickson21 July 1975Indiana Invitational1999Chip Masterson14 March 1977

이 테이블은 2NF이지만 3NF는 아니다. 이것을 3NF로 변형하면 다음과 같다:

+ 대회 우승자 대회  연도  우승자Des Moines Masters1998Chip MastersonIndiana Invitational1998Al FredricksonCleveland Open1999Bob AlbertsonDes Moines Masters1999Al FredricksonIndiana Invitational1999Chip Masterson

+ 우승자 생년 월일 우승자 우승자 생년 월일Chip Masterson14 March 1977Al Fredrickson21 July 1975Bob Albertson28 September 1968

참고 문헌

분류:데이터베이스 정규화