16. 정규화
1. 테이블 분할
- 정규화
- 데이터의 중복저장 방지
- 일관성이 깨지는 현상 해결
2. 제1정규화
- 반복되는 속성이나 그룹 속성 제거
- 기본테이블의 기본키를 추가해 새로운 테이블 생성
- 1:N 관계 형성
반복속성 제거, 기본키 추가해 새로운 테이블 생성
3. 제2정규화
- 복합키로 구성된 경우
- 모든 컬럼은 복합키 전체에 의존적이어야 한다
- 복합키 일부에 의존적인 컬럼은 제거해야 한다
복합키 일부에 의존적인 컬럼은 제거
4. 제3정규화
- 기본키에 의존하지 않고 일반컬럼에 의존하는 컬럼 제거
5. 역정규화
- 정규화된 테이블
- 정규화된 스키마는 가장 작은 단위로 테이블에 나뉘어져 있다
- 데이터 입력, 수정 시 관계를 맺는 테이블을 참조해야 한다
- 연관된 정보를 얻기 위해 조인을 수행
- 시스템의 부하
- 시스템 퍼포먼스 향상을 위해 정규화 위배되는 행위
- 역정규화
- 고려사항
- 정확환 업무분석과 사용자들의 업무프로세스 분석
- 데이터 사용량이 많은 테이블을 기준