CERTIFICATION/SQLD

[SQLD/데이터 모델과 성능]2-2. 정규화와 성능

써머레인 2024. 2. 27. 20:24

2. 데이터 모델과 성능

2-1. 정규화와 성능

(1) 정규화

  • 데이터 모델을 좀 더 구조화하고 개선시키는 절차 
  • 중복 제거, 무결성
  • 성능은 “ 조회 ”  //  “ 삽입, 수정, 삭제 ”의 두 가지 측면 둘 다 고려해야함

 

  • 정규화가 잘 되어있으면, “삽입,수정,삭제” 성능 향상  (조회 성능 저하X)
    반정규화가 잘되어 있으면, “조회” 성능 향상 (조인 필요X)
  • 결정자에 의해 함수적 종속성이 있는 일반속성을 의존자로 하여 입력/수정/삭제 이상 제거 
  • 중복속성 제거, 결정자에 의한 동일한 일반속성을 하나의 테이블로 합체
  • 한 테이블의 데이터 용량을 최소화

 


(2) 함수적 종속성에 근거한 정규화 수행 필요

  • 함수의 종속성(Dependency)는 데이터들이 어떤 기준값에 의해 종속되는 현상을 지칭 
  • 결정자 ex) 주민등록번호  <->  종속자 ex) 이름, 출생지, 주소

 

 

(3) 정규화

정규화 - 중복 제거를 위해 쪼개는 것 (무결성 O) 
  • 1차 정규화
    - 중복된게 많아보이면  =>  1차 정규화 대상
    - 중복된게 없다, 안보인다 => 1차 정규화 완료 => 2차 정규화 대상

 

=> 반복그룹을 제거하기 위해 테이블 분리

 

  • 2차 정규화  (주문 테이블 예)

 

  • 3차 정규화

 

  • 4차 정규화