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

정규화 요약

mitomi 2023. 10. 22. 21:46
반응형
SMALL

 정규화는 속성에 종속성을 파악해서 엔터티를 설계하는것.

                 속성이 엔터티에 속하는 게 맞는지 판단하는 것.

                 엔터티를 대표하는 속성(업무식별자)을 찾은 후에  그 속성 기준으로 대상속성이 종속됐는지 여부를 판단

                 속성의 주인을 찾는 과정/중복을 최대한 제거하는 과정

                 정규화를 건친 모델을 정규형모델이라고 함

구분 제거대상 특징
1정규화 다가 ·복합속성 제거
반복속성제거
중첩릴레이션제거
속성이 추가되거나 일대다(1: M)관계의 엔티티가 추가되며 관계를 상속시킴
2정규화 부분종속제거 일대다(1:M)관계의 엔티티가 추가되며 관계를 상속받음
3정규화 이행종속제거 일대다(1:M)관계의 엔티티가 추가되며 관계를 상속받음
 BC정규화 종속자가 키에 포함된함수종속제거 모든결정자는 키어야한다는 관점에서 3정규형과 같음
4정규화 다가종속제거 다가속성의 개수만큼 일대다 관계의 엔터티가 추가되며 관계를 상속시킴
5정규화 조인종속제거 조인종속이 존재하는 엔터티가 오히려 사용하기 편함 지나치게 이상적임

릴레이션에 제거 대상이 존재한다면 정규화를 해야함. 제거하는 이유와 방법을 알면 수월함

더이상 제거할것이 없는 모델이 가장이상적인 모델이다.

 

· 1정규화 하는 순서  

 - 제거해야하는 속성을 엔터티에서 제거

 - 제거한 속성이 포함된 새로운 엔터티 만듬

 - 기존엔터티에서 새로운 엔터이로 관계를 상속함

 

2정규화

릴레이션에 존재하는 부분종속을 제거 하는 것

- 제거해야 하는 속성을 엔터티에서 제거

- 제거한 속성이 포함된 새로운엔터티를 만든다

- 새로만든 엔터티에서 기존 엔터티로 관계를 상속

※ 1정규화와 유사하지만 관계방향이 다르다, 추가 엔터티에서 기존관계를 상속하며, 관계속성은 주실별자에 포함.

    즉 관계가 식별관계이다.

3정규화

이행종속을 제거하는 것

- 제거해야 하는 속성을 엔터티에서 제거

- 제거한 속성이 포함된 새로운엔터티를 만든다

- 새로만든 엔터티에서 기존 엔터티로 관계를 상속(비식별관계)

 

※ 2정규화와 유사하며, 추가엔터티에서 기존엔터티로 상속한 관계가 일반속성이 된다는 점이 다름, 즉 관계는 비식별관계

1정규형은 새로운 엔터티가 생기면서 관계를 상속시키는 반면, 2정규형 3정규형은 새로운 엔터티에서 관계를 상속받음

 

 BC  정규화

BC정규형을 수행할 때 제거해야 할 대상은 후보 식별자가 종속자가 된 함수 종속이다.

모든 결정자는 엔터티의 주식별자가 되어야하며, 어떠한 종속자도 후보 식별자가 되면 안된다. 

- 후보식별자 속성 중 종속자 속성을 엔터티에서 제거한다.

- 제거한 속성과 그 속성의 결장자 속성으로 새로운 엔터티를 만든다

- 새로만든 엔터티에서 기존 엔터티로  관계를 상속한다.

 

BC정규형 모델은 2정규형 또는 3정규형과 유사하다. 함수종속을 찾아내는게 핵심이다.

새로운 엔터티와의 관계에서 생긴 관계속성은 기존 엔터티의 주식별자에 포함되기도 하고 일반속성에 포함되기도 한다.

종속자가 기존엔터티의 주식별자에 포함돼 있으면 정규화를 수행한 후의 관계가 식별관계가 되고, 후보식별자에 포함돼 있다면 비식별관계가 된다.

 

4정규화

다가 종속을 제거하는 것

- 제거해야 하는 대상인 다가 종속에 포함된 속성을 엔터티에서 제거한다.

-제거한 속성이 포함된 새로운 엔터티를 다가 속성 개수 만큼 만든다.

-기존 엔터티와 새로만든 엔터티와의 교차 관계 엔터티를 만든다.

 

 

 

5정규화

조인종속을 제거하는 것 데이터가 변질되지 안흔 한 엔터티를 최대로 분해하는 것

 

 

 

 

 

 

 

 

728x90

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

데이터 주제 영역  (1) 2023.10.27
데이터 통합(일반화/상세화)  (0) 2023.10.23
5정규형  (0) 2023.10.22
4정규형  (1) 2023.10.22
3정규형-BC정규형  (1) 2023.10.20