Certificate/SQL

[sql] 정규화/반정규화 (개념과 문제점에 관하여)

imsunbow 2023. 11. 1. 19:09

 

[정규화]

  • 데이터의 일관성, 최소한의 데이터 중복, 최소한의 데이터 유연성을 위한 방법
  • 정규화된 모델은 테이블이 분해됨. 테이블이 분해되면 직원 테이블과 부서 테이블 간에 부서코드로 조인(join)을 수행하며 하나의 합집합으로 만들 수 있음
  • 정규화를 하면 중복 데이터가 제거됨(불필요한 데이터를 입력하지 않아도 되기 때문)

 

[정규화의 특징]

  • 조인으로 인하여 성능이 저하되는 문제를 반정규화로 해결 가능
  • 반정규화는 데이터를 중복시키기 때문에 또 다른 문제점을 발생시킴
  • 따라서 정규화와 반정규화는 trade-off 관계에 있다고 볼 수 있음(반정규화는 데이터중복 허용해서 join 줄임)'

 


 

[반정규화]

 

  • 데이터베이스의 성능 향상을 위하여, 데이터 중복을 허용하고 조인을 줄이는 데이터베이스 성능 향상 방법

 

[반정규화의 특징]

  • 반정규화는 조회속도를 향상시키지만, 데이터 모델의 유연성은 낮아짐
반응형