IT Dictionary/Database

데이터베이스(Database) 정규화 정리

Jaebins 2024. 12. 5. 11:23
반응형

정규화

  • 불필요한 데이터의 중복으로 인한 연산의 부작용이 발생하는 이상 현상을 제거하기 위한 과정
  • 릴레이션을 관련 있는 속성들로만 구성하기 위해 릴레이션을 분해하는 과정
  • 함수적 종속성을 판단하여 정규화 수행

 

이상 현상의 종류

  1. 삽입 이상 : 데이터를 삽입할 때, 불필요한 데이터도 함꼐 삽입되는 문제
  2. 갱신 이상 : 중복 데이터 중, 일부만 변경되어 데이터의 불일치 발생
  3. 삭제 이상 : 데이터를 삭제할 떄, 필요한 데이터까지 함께 삭제되는 문제

 

함수 종속

  • X와 Y는 하나의 릴레이션을 구성하는 속성들의 부분 집합
  • Y가 X에 함수적으로 종속되어 있다는 의미
  • 표현식 : X → Y    (X는 결정자, Y는 종속자)

완전 함수 종속

  • X의 속성 집합 전체에 종속되는 것을 의미
  • 가장 일반적인 함수 종속을 의미

부분 함수 종속

  • X의 속성 집합 일부분에 종속되는 것을 의미

고객이름 - 부분 함수 종속, 당첨 여부 - 완전 함수 종속

 

정규형

  • 릴레이션이 정규화된 정도
  • 정규형의 차수가 높아질수록 제약조건이 많아짐

 

제1정규형 (1NF)

  • 릴레이션의 모든 속성의 도메인이 더는 분해되지 않는 원자 값만 가짐
  • 데이터 중복을 가짐
  • 기본키에 완전 함수 종속되지 못한 속성이 있을 수 있음     (EX. 이름  생일)
  • 완전 함수 종속되지 못해 삽입 이상, 갱신 이상, 삭제 이상 발생
이름 과목번호 생일 과목
홍길동 A1 870723 수학
홍길동 A2 870723 영어
이순신 A2 070610 영어
안중근 A3 011223 과학
장보고 A3 050624 과학

 

제2정규형 (2NF)

  • 기본키에 완전 함수 종속이 만족하는 제1정규형
  • 이행적 함수 종속으로 인해 삽입 이상, 갱신 이상, 삭제 이상 발생
  • 이행적 함수 종속 : X → Y, Y → Z 일 떄, X → Z도 성립
이름 과목번호 과목
홍길동 A1 수학
홍길동 A2 영어
이순신 A2 영어
안중근 A3 과학
장보고 A3 과학
이름 생일
홍길동 870723
홍길동 870723
이순신 070610
안중근 011223
장보고 050624

 

제3정규형 (3NF)

  • 이행적 함수 종속이 만족하지 않는 제2정규형
이름 과목번호
홍길동 A1
홍길동 A2
이순신 A2
안중근 A3
장보고 A3
과목번호 과목
A1 수학
A2 영어
A2 영어
A3 과학
A3 과학

 

보이스/코드 정규형 (BCNF)

  • 릴레이션에 여러 개의 후보키가 존재할 때, 제3정규형에서도 이상 현상이 발생할 수 있음
  • 후보키가 아닌 배달번호가 배달원의 속성을 결정함
가게 배달원 배달번호
조선짜장 이순신 X1
고려짜장 장보고 X2
신라짜장 이순신 X1
NULL 홍길동 X3

문제의 테이블, 가게에 배정되지 않은 배달원이 있음

반응형