IT

정규화(Normalization)

rimicode 2022. 8. 6. 20:40
728x90
반응형
SMALL

정규화(Normalization)

데이터 정합성을 위해 작은 단위로 엔티티를 분리하는 과정

  • 데이터 정합성: 데이터의 정확성과 일관성을 유지하고 보장하는 것

 

정규화를 할 경우 데이터 조회성능은 처리조건에 따라 향상할 수도, 저하될 수도 있다.

정규화를 할 경우 데이터 입력성능, 수정성능, 삭제성능은 일반적으로 향상된다.

 

 

1. 제 1 정규형

모든 속성은 반드시 하나의 값만 가져야 한다.

 

유사한 속성이 반복되는 경우도 대상이다.

하나의 속성이 다중값을 가지는 경우 어플리케이션에서 데이터를 꺼내 쓸 때 불필요한 split를 사용해야 하는 번거로움이 발생하기 때문이다.

 

1차 정규화 방법

  • 속성값이 하나가 되도록 엔티티 분리
  • 유사한 속성이 반복되지 않도록 엔티티 분리

 

한 엔티티 내에 유사한 속성이 반복될 경우 문제점

  • 데이터가 늘어날 때 계속해서 속성을 추가해야 한다.
  • 추가된 속성의 개수만큼 모든 인스턴스가 속성값을 갖고 있지 않을 경우 공간 낭비가 발생한다.

 

 

2. 제 2 정규형

엔티티의 모든 일반속성은 반드시 모든 주식별자에 종속되어야 한다.

주식별자가 복합식별자인 경우 일반속성이 주식별자의 일부에만 종속되는 문제가 발생된다.

 

2차 정규화 방법

  • 주식별자에 대한 부분종속이 없도록 엔티티를 분리한다.

 

 

3. 제 3 정규형

주식별자가 아닌 모든 속성 간에는 서로 종속 될 수 없다.

 

3차 정규화 방법

  • 다른 일반속성에 종속되지 않도록 엔티티를 분리한다.

 

 

4. 주의사항

지나친 정규화는 오히려 성능 저하를 일으킬 수 있다.

 

 

 

 

 

 

 

 

 


학습에 도움이 된 책

https://search.shopping.naver.com/book/catalog/32464085892?NaPm=ct%3Dl621qu1s%7Cci%3D1732027522e29b66e88ffb93dc2216edf278bd53%7Ctr%3Dboksl%7Csn%3D95694%7Chk%3D46ccafaa7b1d600eaff5134a5f3cccb060f15866

 

2022 유선배 SQL개발자(SQLD) 과외노트 : 네이버 도서

네이버 도서 상세정보를 제공합니다.

search.shopping.naver.com

 

728x90
반응형
LIST