정규화

최찬호·2023년 4월 2일
0

Normalization

데이터 중복과 insertion, update, deletion anomaly를 최소화하기 위해 일련의 nomal forms(NF)에 따라 relation DB를 구성하는 과정

NF

  • 정규화 되기 위해 준수해야 하는 몇가지 rule이 존재하는데 이 각각의 rule을 normal form(NF)이라고 한다.
  • 정규화는 순차적으로 진행(앞 단계를 만족해야함)하며 NF를 만족하지 못하면 만족하도록 테이블 구조를 조정한다.

1NF -> 2NF -> 3NF -> BCNF

  • FD와 key만으로 정의되는 normal forms
  • 3NF까지 도달하면 정규화가 완료된 테이블이라고 하기도 함
  • 보통 실무에서는 3NF 혹은 BCNF까지 진행

1NF : attribute의 value는 반드시 나눠질 수 없는 단일한 값이어야 한다
2NF : 모든 non-prime attriubte는 모든 키에 Fully FD해야 한다. 즉 partial FD 해서는 안된다.
3NF : 모든 non-prime attribute는 어떤 key에도 transitively dependent하면 안된다. #non-prime attribute와 non-attribute 사이에는 FD가 있으면 안된다
BCNF : 모든 유요한 non-trivial FD X -> Y는 X가 super key여야 한다.

super key: Table내에서 tuple들을 유니크하게 식별할 수 있는 attribute set
prime attribute: key ot composite key가 되는 attribute(s)
non-prime attribute: 어떠한 key에도 속하지 않는 attribute
profile
체득하고 이해하자

0개의 댓글