제3정규형(3NF)
제3정규형은 이행적 종속성의 개념에 기반을 둔다. 릴레이션 스키마 R에서 후보키가 아니고 어떤 키의 부분집합도 아닌 컬럼들의 집합 Z가 존재하여 X -> Z와 Z -> Y가 만족될 때, 함수적 종속성 X -> Y를 이행적 종속성이라 부른다.
ssn |
ename |
bdate |
deptno |
deptnm |
120101-1234567 |
홍길동 |
12-01-01 |
00001 |
정규화개발실 |
위와 같은 테이블이 있다고 가정하면,
ssn -> deptno와 deptno -> deptnm이 성립하고 deptno가 테이블의 후보키나 키의 부분집합이 아니기 때문에, 종속성 ssn -> deptnm은 deptno를 통해 이행적이다.
이 테이블에 제3정규형을 적용하면 아래와 같이 나타나게 된다.
ssn |
ename |
bdate |
deptno |
120101-1234567 |
홍길동 |
12-01-01 |
00001 |
deptno |
deptnm |
00001 |
정규화개발실 |
Codd의 원래 정의에 의하면, 릴레이션 스키마 R이 제2정규형이고 R의 어떤 비주요 컬럼도 기본키에 이행적으로 종속하지 않으면 릴레이션 스키마 R이 제3정규형이라고 한다.
'데이터베이스 > 정규화' 카테고리의 다른 글
반정규화(역정규화) (0) | 2016.06.11 |
---|---|
BCNF(Boyce-Codd NF) (0) | 2015.01.09 |
제2정규형(2NF) (0) | 2015.01.09 |
제1정규형(1NF) (0) | 2015.01.09 |