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차 정규화