16. 정규화


1. 테이블 분할

  • 정규화
    • 데이터의 중복저장 방지
    • 일관성이 깨지는 현상 해결

2. 제1정규화

  • 반복되는 속성이나 그룹 속성 제거
  • 기본테이블의 기본키를 추가해 새로운 테이블 생성
  • 1:N 관계 형성

반복속성 제거, 기본키 추가해 새로운 테이블 생성


3. 제2정규화

  • 복합키로 구성된 경우
    • 모든 컬럼은 복합키 전체에 의존적이어야 한다
    • 복합키 일부에 의존적인 컬럼은 제거해야 한다

복합키 일부에 의존적인 컬럼은 제거


4. 제3정규화

  • 기본키에 의존하지 않고 일반컬럼에 의존하는 컬럼 제거

5. 역정규화

  • 정규화된 테이블
    • 정규화된 스키마는 가장 작은 단위로 테이블에 나뉘어져 있다
    • 데이터 입력, 수정 시 관계를 맺는 테이블을 참조해야 한다
    • 연관된 정보를 얻기 위해 조인을 수행
    • 시스템의 부하
  • 시스템 퍼포먼스 향상을 위해 정규화 위배되는 행위
    • 역정규화
  • 고려사항
    • 정확환 업무분석과 사용자들의 업무프로세스 분석
    • 데이터 사용량이 많은 테이블을 기준