정보처리기사

데이터베이스 정규화

Superkill 2018. 4. 6. 22:24
반응형

1 정규형

- 하나의 row에서 하나의 속성이 단일값(원자값, Atomic Value)을 가진다.

- 반복되는 속성은 별도 테이블로 분리하여 관리한다. 

(아마 분리된 속성들을 묶어서 관리하려면 식별할 수 있는 키를 만들어야 할 듯)

- Keyword : Primary Key / 원자성



2 정규형

- 1 정규형을 만족하고 주 식별자가 전체가 아닌 주 식별자 일부 속성에 종속된 속성을 제거 (및 따로 테이블 구축해서 관리(FK))

-  Keyword : 완전 함수적 종족성/ 부분 함수적 종속 제거



3 정규형

- 1,2 정규형을 만족함

- 후보키가 아닌 속성에서 이행종속이 발생하지 않는다.

- 이행종속이란 : X > Y 이고 Y > Z 이면 X > Z 이다

- Keyword : 이행 종속 제거




BCNF 

- 1,2,3 정규형을 만족함

- 모든 결정자는 후보키어야 한다.

- 강력한 3 정규형이라고도 한다.

<3정규형이면서 BCNF가 아닌 예>



4 정규형

- 1,2,3 정규형 및 BCNF를 만족

- 다가(다치) 종속 제거

http://blog.naver.com/PostView.nhn?blogId=myung_aoul&logNo=140029654106



5 정규형

- 1,2,3,4 정규형 및 BCNF를 만족

- 테이블의 모든 조인 종속이 후보키를 통해서만 성립

- 후보키를 통하지 않은 조인 종속 제거