관계형데이터모데링노트 요약

3정규형-BC정규형

mitomi 2023. 10. 20. 17:47
반응형
SMALL

1. 3정규형

식별자가 아닌 일반속성간에는 종속성이 존재하면 안된다. 3정규형은 비식별자 속성간에 발생하는 이행적 종속성과 관련있다. X→Y이고 Y →Z이면 X→ Z가 성립한다. Y는 릴레이션의 후보식별자나 후보식별자의 일부가 아닌 일반속성이다

3정규화는 일반속성간의 종속관계를 분해하는 것 일반속성간에는 서로 직접종속될수 없음

3정규형의 대상이 되는 속성을 이행종속 속성이라고함

속성C는 일반속성이면서, 속성D의 결정자

속성 D는 종속자면서, 주식별자인 A·B에 이행종속 속성

속성 D는 주식별자인 A와B에 간접종속되어 있음

릴레이션은 직접적인 함수 종속에 의해서 분해되어야 함

분리된 양쪽 릴레이션은 공통으로 존재하는 속성C로 조인할 수 있어, 존재하던 이행 종속 속성D를 알수 있다.

 

 

 

3정규화 대상                                                         3정규화한 모델                                                                   중복속성이 사용된 모델

이미 고객엔티티가 존재하면 주문엔티티에 있는 고객명 속성은 중복 속성이라는 것

2정규형과 마찬가지로 중복속성으로 말미암아 3정규형을 위배한것 같은 고객엔터티가 존재하므로 주문 엔터티의 고객명 속성만 삭제하면 정규형이된다.

1차관계만을 관리하는 것이 중요..(이행종속이 아닌 직접종속된 속성만으로)

 

2. BC 정규형

모든 BC정규형 릴레이션은 3정규형 릴레이션이지만, 3정규형 릴레이션이 모두 BC 정규형 릴레이션을 만족하는 것은 아니다. BC정규형이 3정규형보다 엄격하다

모든결정자는 주식별자여야 한다는 것!!

이는 3정규형에도 해당되는 정의이므로 3정규형과 구분헤 보면, 릴레이션에 존재하는 종속자는 후보식별자가 아니어야 한다고 정의 

속성 Y에 종속된 Z가 후보식별자에 포함된다면 BC 정규형이 아니다.

Z가 후보식별자에 포함되는지에 따라 3정규형과  BC정규형이 구분된다.

BC정규화 대상 릴레이션

주식별자 : A,B

일반속성 C에 종속된 종속자 B가 주식별자에 포함돼 있으므로, BC정규형에 어긋난다. 반면 일반속성(C,D)사이에 종속관계가 없으므로 3정규형이다.

BC정규화한 릴레이션

릴레이션에서는 주식별자에 포함되어 있지만  종속자인 B속성은 원본릴레이션에서 분리돼 새로운 릴레이션의 종속자가 되며, B속성의 결정자인 C속성이 원본 릴레이션에서 주식별자에 포함됨

학생의 학점을 관리하는 릴레이션

학생은 여러과목을 수강할 수 있으며, 교수는 정해진 한 과목만 강의할 수 있음

그리고 여러교수가 동일한 과목을 강의할 수 없어 과목을 알면 교수를 알 수 있다고 가정

학생번호,교수번호 → 과목번호, 학점

과목번호    교수번호

종속자인 교수번호 속성이 주식별자에 포함되어 있어,  BC정규형 위반했다.

1.BC정규화 대상 릴레이션                                  2.릴레이션을 BC정규화한 모델                                                                       3. BC정규화 대상엔티티

3.BC정규화 대상 엔티티는 주식별자에 포함된 속성간에 함수 종속이 발생했다. 이는 일차적으로 최소한의 속성조합이 주식별자가 되도록 해야한다는 원칙을 위배하 모델 이다. 슈퍼시별자가 되지 않도록 주식별자를 설계해야 하는데 이를 위반

BC정규화 대상이며 정규화수행하면 2. 릴레이션을 BC정규화한 모델이 된다.

 

728x90

'관계형데이터모데링노트 요약' 카테고리의 다른 글

5정규형  (0) 2023.10.22
4정규형  (1) 2023.10.22
2정규형  (0) 2023.10.20
1정규형  (1) 2023.10.20
아노말리  (0) 2023.10.17