DATABASE/Modelling
2009. 5. 6. 11:32
※정규화(Normalization)
- 테이블의 속성들이 상호 종속적인 관계를 갖는 특성을 이용하여 테이블을 무손실 분해하는 과정
- 가능한 한 중복을 제거하여 삽입, 삭제, 갱신 이상의 발생 가능성을 줄이는 것
정규화 |
정규화 내용 |
1차 정규화 |
복수의 속성값을 갖는 속성을 분리 |
2차 정규화 |
주식별자에 종속적이지 않은 속성을 분리, 부분종속 속성을 분리 |
3차 정규화 |
속성에 종속적 속성을 분리, 이전(이행적)종속(Transitive Dependency) 속성을 분리 |
보이스-코드 정규화 |
다수의 주식별자를 분리 |
4차 정규화 |
다가 종속(Multi-Valued Dependency) 속성 분리 |
5차 정규화 |
결합 종속(Join Dependency)일 경우, 두 개 이상의 N개로 분리 |
※함수적 종속
- 어떤 테이블 R에서 X와 Y를 각각 R의 속성집합의 부분 집합이라고 하면, 속성 X의 값 각각에 대해 시간에 관계없이 항상 속성 Y의 값이 오직 하나만 연관되어 있을 때, Y는 X에 함수적 종속 또는 X가 Y를 함수적으로 결정한다고 하고, X→Y로 표기한다.
- X→Y의 관계를 갖는 속성 X와 Y에서 X를 결정자, Y를 종속자라고 한다.
위 표를 함수적 종속성으로 보자면 다음과 같다.
종속성 |
개념 |
함수적 종속성(1NF) |
릴레이션의 한 속성 X가 다른 속성 Y를 결정지을 때 Y는 X에서 함수적으로 종속 |
부분함수적 종속성(2NF) |
Y가 X의 부분 집합에 대해서도 함수적으로 종속되는 경우 |
이행함수적 종속성(3NF) |
릴레이션 R에서, A→X이고 X→Y이면 A→Y이다 |
결정자함수적종속성(BCNF) |
함수적 종속이 되는 결정자가 후보키가 아닌 경우 |
다중값 종속성(4NF) |
한 관계에 둘 이상의 독립적 다중값 속성이 존재하는 경우 |
조인 종속성(5NF) |
둘로 나눌 때는 원래의 관계로 회복할 수 없으나 셋 또는 그 이상으로 분리시킬 때는 원래의 관계를 복원할 수 있는 특수한 경우 |
※완전 함수적 종속
- 어떤 테이블 R에서 속성 Y가 다른 속성 집합 X 전체에 대해 함수적 종속이면서 속성 집합X의 어떠한 진부분집합 Z(Z⊂X)에도 함수적 종속이 아닐 때
- 어떤 속성이 기본키에 대해 완전히 종속적일 때
※부분 함수적 종속
- 어떤 테이블 R에서 속성 Y가 다른 속성 집합 X 전체에 대해 함수적 종속이면서 속성 집합X의 임의의 진부분집합 Z(Z⊂X)에 대해 함수적 종속일 때
- 어떤 속성이 기본키의 일부에 대해 종속적일 때
※정규화와 정규형
- 정규화 : 무엇이 수행되어야 하는 과정
- 정규형 : 무엇이 수행된 결과