제2정규형(2NF)
제2정규형은 완전 함수적 종속성의 개념에 기반을 둔다. 완전 함수적 종속성은 함수적 종속성 X -> Y에서 X로부터 임의의 컬럼 A를 제거하면 함수적 종속성 X -> Y가 성립되지 않는 경우, 즉 임의의 컬럼 A ∈ X에 대해서 Y가 (X - {A})에 함수적으로 종속하지 않는 경우를 말한다.
함수적 종속성 X -> Y가 임의의 컬럼 A ∈ X를 제거해도 성립하면, 즉, 어떤 A ∈ X에 대해서 (X - {A}) -> Y가 성립하는 종속성을 부분 종속성이라고 한다.
ssn |
projectno |
hours |
ename |
pname |
plocation |
123456-1234567 |
00001 |
480 |
홍길동 |
정규화프로젝트 |
서울 |
위와 같이 ssn, projectno를 키로 가지는 테이블이 있다고 가정하면,
1. {ssn, projecno} -> hours는 완전 함수적 종속성이다.
2. {ssn, projectno} -> ename은 ssn -> ename이 성립하기 때문에 부분 종속성이다.
3. {ssn, projectno} -> pname, plocation은 projectno -> pname, plocation이 성립하기 때문에 부분 종속성이다.
이 테이블에 제2정규형을 적용하게 하면 아래와 같은 릴레이션으로 나타나게 된다.
ssn |
projectno |
hours |
123456-1234567 |
00001 |
480 |
ssn |
ename |
123456-1234567 |
홍길동 |
projectno |
pname |
plocation |
00001 |
정규화프로젝트 |
서울 |
정리하면, 릴레이션 스키마 R의 모든 비주요 컬럼들이 R의 기본키에 대해 완전하게 함수적으로 종속하면 R은 제2정규형이라고 한다.
'데이터베이스 > 정규화' 카테고리의 다른 글
반정규화(역정규화) (0) | 2016.06.11 |
---|---|
BCNF(Boyce-Codd NF) (0) | 2015.01.09 |
제3정규형(3NF) (0) | 2015.01.09 |
제1정규형(1NF) (0) | 2015.01.09 |