2. 데이터 모델과 성능
2-1. 정규화와 성능
(1) 정규화
- 데이터 모델을 좀 더 구조화하고 개선시키는 절차
- 중복 제거, 무결성
- 성능은 “ 조회 ” // “ 삽입, 수정, 삭제 ”의 두 가지 측면 둘 다 고려해야함
- 정규화가 잘 되어있으면, “삽입,수정,삭제” 성능 향상 (조회 성능 저하X)
반정규화가 잘되어 있으면, “조회” 성능 향상 (조인 필요X) - 결정자에 의해 함수적 종속성이 있는 일반속성을 의존자로 하여 입력/수정/삭제 이상 제거
- 중복속성 제거, 결정자에 의한 동일한 일반속성을 하나의 테이블로 합체
- 한 테이블의 데이터 용량을 최소화
(2) 함수적 종속성에 근거한 정규화 수행 필요
- 함수의 종속성(Dependency)는 데이터들이 어떤 기준값에 의해 종속되는 현상을 지칭
- 결정자 ex) 주민등록번호 <-> 종속자 ex) 이름, 출생지, 주소
(3) 정규화
정규화 - 중복 제거를 위해 쪼개는 것 (무결성 O)
- 1차 정규화
- 중복된게 많아보이면 => 1차 정규화 대상
- 중복된게 없다, 안보인다 => 1차 정규화 완료 => 2차 정규화 대상

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

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

- 3차 정규화

- 4차 정규화

'CERTIFICATION > SQLD' 카테고리의 다른 글
[SQLD/데이터 모델과 성능]2-4. 대량 데이터에 따른 성능 (0) | 2024.02.27 |
---|---|
[SQLD/데이터 모델과 성능]2-3. 반정규화와 성능 (0) | 2024.02.27 |
[SQLD/데이터 모델과 성능]2-1. 성능 데이터 모델링의 개요 (0) | 2024.02.25 |
[SQLD/데이터 모델링의 이해]1-5. 식별자 (0) | 2024.02.25 |
[SQLD/데이터 모델링의 이해]1-4. 관계 (0) | 2024.02.25 |