Normalization

dev_butler·2023년 10월 18일

데이터 논리적 표현

릴레이션 스키마의 설계

    1. 애트리뷰트, entity, 관계성 파악
    1. 관련 애트리뷰트를 릴레이션으로 묶음
      (애트리뷰트 간 관계성, 데이터 종속성, 일관성 고려해야)
    1. 변칙적 성질 예방 : 데이터 변경 시의 이상

이상 (Anomaly)

  1. 삭제 이상 : 연쇄 삭제에 의한 정보 손실
  2. 삽입 이상 : 원하지 않는 정보의 강제 삽입
  3. 갱신 이상 : 중복 데이터 갱신으로 정보의 모순성 발생
  • 이상 원인 : 한 개체에 속한 애트리뷰트 간 존재하는 여러 개의 종속관계를 하나의 릴레이션으로 표현
  • 이상 해결 : 애트리뷰트 간 여러 종속관계를 분해 (종속성은 릴레이션으로 표현 = 정규화 과정)

스키마 설계, 변환

  • 스키마 설계 : 데이터베이스의 논리적 설계
    1. 애트리뷰트, 제약조건들 수집
    2. 수집된 결과를 제약조건에 따라 여러 릴레이션으로 분할 (스키마 변환)
  • 스키마 변환 원리
    1. 정보 표현의 무손실
    2. 최소 데이터 중복
    3. 분리 원칙 (관계성은 별도 릴레이션으로 분리시켜 표현)

함수 종속 (FD)

  • 함수 종속 : 어떤 릴레이션 R에서, 애트리뷰트 X의 값 각각에 대해 애트리뷰트 Y의 값이 최대 하나만 연관된다
    (애트리뷰트 Y는 애트리뷰트 X에 함수 종속)
    • X는 Y를 결정 (X는 결정자, Y는 종속자)
    • X나 Y는 각 두 개 이상의 애트리뷰트 집합 될 수 있음
  • 릴레이션 R에서 애트리뷰트 X가 키면, R의 모든 애트리뷰트 Y에 대해 X -> Y 성립
  • 함수 종속 X -> Y의 경우 애트리뷰트 X가 반드시 키라는걸 요건으로 안함 (X의 한 값에 대응되는 Y 값을 갖는 투플이 둘 이상 존재 가능)

함수 종속 다이어그램

  • 수강 릴레이션 : 수강(학번, 과목번호, 학년, 성적)
  • 2개 이상 구성된 애트리뷰트 집합 X에 대해 X -> Y가 성립할 때
    • 완전 함수 종속 : X'가 부분집합이고 X' -> Y가 성립되는 애트리뷰트 X'가 없음
    • 부분 함수 종속 : X'가 부분집합, X' -> Y가 성립되는 애트리뷰트 X' 존재

함수 종속의 폐포 (Closure)

  • 스키마에 대한 종속의 집합 F가 있으면
    • 다른 특정 함수 종속도 그 스키마에 성립
    • 추가 존재하는 함수 종속을 논리적으로 함축되었다고 함
    • F+ : 논리적으로 함축되는 모든 함수 종속의 집합

0개의 댓글