DB/DB 모델링

[DB/DB모델링] 정규화

각시탈코더 2023. 3. 24. 12:12

1.개요

1.1.정규화(Normalization)이란?

  • ERD내에서 중복요소를 찾아내 제거하는 과정
  • 3차 정규화까지만 알아도 무리없다.
  • 몇 가지 원칙을 지키면 정규화가 필요없는 ERD를 설계할 수 있다.

1.1.1.제1 정규화

  • 엔티티에서 하나의 속성이 여러개의 값을 갖도록 설계되어있을 때 하나의 속성이 하나의 값을 갖도록 설계를 변경하는 과정

정규화 이전
제 1정규화 이후

정규화 예제

 

 

정규화 이전

 

정규화 이후

 

 

1.1.2.제2 정규화

  • 주식별자에 종속된 속성을 제거한다.(PK와 연관있음)

 

정규화 예시

 

 

1.1.3.제 3정규화

  • 주식별자가 아닌 속성들 중에서 종속관계에 있는 속성을 제거 (PK와 연관 없음)

 

 

2.정규화가 필요없은 설계기법

2.1 장부나 전표에서 머리부(header)와 서술부(detail)는 별도의 엔티티에 저장한다.

 

2.2. 코드-코드값의 관계(종속 관계)에 있는 속성들은 별도의 엔티티로 구성(엔티티에 포함된 종속관계가 이에 해당)


출처

  • Database 11. Normalization I (https://www.youtube.com/watch?v=yKgrwFoyowI&list=PL9hiYwOHVUQcRkS4XRnsrgPIRih9H7L32&index=11&ab_channel=Jacob%27sLecture)
  • Database 12. Normalization II (https://www.youtube.com/watch?v=M7Ilc4RzZ1k&list=PL9hiYwOHVUQcRkS4XRnsrgPIRih9H7L32&index=12&ab_channel=Jacob%27sLecture)