본문 바로가기

데이터베이스/정규화

제2정규형(2NF)

제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