5차 정규화
태그 :
- 개념
- - 릴레이션R에 존재하는 모든 조인 종속(JD)이 릴레이션R의 후보 키를 통해서만 만족되는경우의 릴레이션R - 5NF, PJ/NF(Projection-Join Normal Form) - 조인종속성 (Join Dependency) : 한 릴레이션이 여러 Projection으로 무손실분해될 수 있는 가능성을 조인종속 또는 JD라 부른다. - 관계(Relation)가 셋 이상의 부분집합 관계로 프로젝션(분해)된 뒤에 공통 키를 기준으로 다시 조인되어 원래의 관계를 복원할 수 있어야 함을 의미 - 셋 이상의 관계로 프로젝트(분해)될 수 있는 관계를 n개 – 분할가능(N-ecomposable) 이라 하며 조인종속성의 특징임
1. 5차 정규화의 의미
- JD가 존재하지 않거나( 즉, 릴레이션이 더 이상 무손실 분해될 수 없거나 ), JD에 의해 분해되는 Projection들이 원래 릴레이션의 Candidate Key를 유지 할 때 5NF라 함
- 제 5 정규형에 속하는 릴레이션은 무손실 분해할 수는 있으나 현실적으로 그렇게 할 필요가 없는 릴레이션 구조를 의미함 ( 수직분할 )
2. 5차 정규화의 전제조건
- PK에서 발생함
- 독립된 속성간의 조인 연관성이 있어야 함
- 관계 엔터티(Associative Relation)
- A,B,C가 있을 때 A-B, A-C, B-C는 연관성이 있으나, A-B-C는 연관성이 없는데도 불구하고 하나의 테이블에 PK로 사용이 될 때 발생이 됨
3. 5차 정규화의 사례 1
가. SCP(SN,CN,PN) 릴레이션
1) 어떤 공급자(SN)가 어떤 부품(CN)을 어떤 프로젝트(PN)에 공급하고 있다는 것을 표현
2) SCP 릴레이션은 4NF
- 모든 애트리뷰트가 기본키키에 속함, FD나 MVD가 존재하지 않음.
3) SCP를 프로젝션하여 3개의 릴레이션 SC, CP, PS를 생성
4) 어느 2개의 조인만으로는 SCP를 재생성할 수 없고 3개의 릴레이션 SC, CP, PS를 전부 조인할 때만 SCP를 재생성할 수 있음.
5) 첫번째 조인으로 위조튜플 생성, 두번째 조인으로 위조튜플 삭제되어 원래 릴레이션 SCP로 복귀
- 릴레이션 SCP가 3개의 프로젝션 SC, CP, PS의 조인과 동등. ≡
If (S1,C1) Î SC and (C1,P1) Î CP and
( P1,S1) Î PS then (S1,C1,P1) Î SCP
- 3분해 릴레이션 SCP에는 다음과 같은 3-way 순환 제약조건 (cyclic constraint)이 존재
If (S1,C1,P2) Î SCP and (S2,C1,P1) Î SCP and
(S1,C2,P1) Î SCP then (S1,C1,P1) Î SCP
- SCP : 3-원 순환적 제약조건을 만족
ㆍSCP는 3개의 릴레이션 SC, CP, PS를 전부 조인해야만 재생성될 수 있는 3-분해 릴레이션
- 만일 릴레이션이 n-way cyclic constraint를 만족하면 n-분해 릴레이션임.
- n-분해 릴레이션(n>2)
ㆍn개의 프로젝션으로만 무손실 분해될 수 있으며 m(<n)개의 프로젝션으로는 무손실 분해가 불가능한 릴레이션
- 조인 종속(JD, Join Dependency)
ㆍA,B,...,Z 를 각각 R의 애트리뷰트들에 대한 진 부분 집합이라 할 때 릴레이션 R이 그의 프로젝션 A, B, ..., Z의 조인과 동일하면 R은 JD *(A, B, ..., Z)를 만족한다.
ㆍ릴레이션 R(A,B,C)가 JD *(AB,AC)를 만족하면, 한 쌍(2)의 MVD A->B|C도 성립.
ㆍJD는 MVD의 일반형
* MVD는 JD의 특별한 경우(2-분해)
ㆍSCP 릴레이션은
* JD *(SC, CP, PS)를 만족
* 3-분해 릴레이션
JD를 만족하는 n-분해 릴레이션은 n개의 프로젝션으로 분해해야 함
나. SCP 릴레이션에서의 갱신이상
1) 삽입이상
- 릴레이션 SCP’에서 투플 (S2,C1,P1)를 삽입한다면 원하지 않더라도 투플 (S1,C1,P1)도삽입해야 함
- 역은 성립하지 않음: (S2,C1,P1)의 삭제는 이상 없이 가능
릴레이션의 갱신이상(con’t)
2) 삭제이상
- 릴레이션 SCP에서 투플 (S1,C1,P1)을 삭제할 때는 다른 투플 중 어느 하나를 함께 삭제해야 함
- (S2,C1,P1)의 삭제는 이상 없이 가능
Þ 이상의 원인 : SCP는 3-분해 릴레이션
Þ 이상의 해결 : 릴레이션 SCP를 3-분해함
4. 5차 정규화의 사례 - 2