정보처리기사/데이터베이스 구축

논리 데이터베이스 설계 4

RangA 2023. 5. 26. 01:30

04. 관계 스키마와 함수 종속

01. 관계 스키마

1) 관계 스키마 설계의 정의

  • 데이터베이스 설계에서 현실 세계를 가장 정확하게 표현하기 위하여 데이터의 논리적 구조를 결정하는 것

2) 관계 스키마 설계 원칙

  • 개체, 속성, 관계를 식별하여 릴레이션으로 구성함
  • 불필요한 데이터와 데이터 중복이 발생하지 않도록 설계함
  • 속성 사이의 관계와 데이터의 종속성을 고려하여 설계함
  • 일관성을 유지하며 효율적으로 데이터를 관리하도록 설계함

3) 이상(Anomaly) 현상

  • 관계 스키마 설계가 잘못되면 불필요한 데이터의 중복이 발생함
  • 특히 데이터의 중복으로 인해 릴레이션 조작 시 예상치 못하는 곤란한 현상이 발생하게 되는 것을 이상 현상이라고 함
  • 이상 현상을 해결하기 위해서는 속성들 간의 종속 관계를 분석하여 여러 개의 릴레이션으로 분해함
    • 릴레이션을 분해하는 작업은 정규화를 통해 진행함
  1. 삭제 이상 : 임의의 튜플을 삭제하였을 때 관련된 관계성까지 모두 삭제되는 이상 현상
  2. 삽입 이상 : 튜플을 삽입했을 때 삽입 의도와 관계가 없는 관계까지도 삽입이 되는 이상 현상
  3. 갱신 이상 : 임의의 데이터를 수정했을 때 그것과 관계된 데이터에 대해 일관성이 없게 되는 이상 현상



02. 함수 종속(Functional Dependency)

1) 함수 종속의 개념

  • 개체 내에 존재하는 속성 간의 종속성을 의미
  • 관계형 모델을 설계할 때 가장 중요한 요소
  • 문제가 없는 릴레이션을 설계하기 위한 기준으로 속성 상호 간의 관계에서 유도되는 제약조건
  • 데이터 종속에는 3가지 종속이 존재하며, 그 중 대표적인 종속이 함수 종속
  • 속성 간 종속성을 규명해 집합을 분리하므로, 속성과 개체를 정의하고 관계를 파악할 때 절대적인 역할을 함
  • 함수 종속을 기반으로 정규화 과정을 거치면 업무 요건을 만족하면서 개체 주제에 맞도록 속성들이 이상 현상 없이 배치될 수 있음
  • 개체 내 A 속성의 값이 B 속성의 값을 유일하게 식별할 수 있다면, B 속성은 A 속성에 함수적으로 종속되었음을 의미
  • 어떤 릴레이션 R에서 A와 B를 각각 T의 애트리뷰트 집합의 부분 집합이라고 할 경우 애트리뷰트 A의 값 각각에 대해 시간에 관계없이 항상 애트리뷰트 B의 값이 오직 하나만 연관되어 있을 때 B는 A에 함수 종속이라고 하며 A -> B로 나타냄
  • 함수 종속은 시간이 경과하면(업무 성격의 변화, 무결성 제거 등) 여러 가지 형태로 변화될 수 있음

2) 결정자(Determinant)와 종속자(Dependent)

  1. 결정자와 종속자
    • 결정자 : 속성 간의 종속성을 규명할 때 기준이 되는 값
    • 종속자 : 결정자의 값에 의해 정해지는 값
    • 속성 Y가 속성 X에 의해 함수적으로 종속된다는 말은 속성 X의 값을 이용해 속성 Y의 값을 유일하게 식별할 수 있다는 의미
  2. 결정자 X의 값은 반드시 하나의 Y값과 연관
    • "X값에 의존하는 Y값은 하나뿐이지 다른 Y값이 있을 수 없다"를 기호와 수식으로 표현하면 다음과 같음
      • X -> Y
      • Y = F(X)
      • X : 결정자, Y : 종속자

3) 폐포(Closure)

  • 정규화는 함수 종속의 결정자가 키가 되도록 개체를 분해하는 과정
  • 키가 아닌 모든 속성이 키에 직접 종속되도록 분해하는 것이며, 이로 인해 키와 함수 종속은 밀접한 관련이 있음
  • X의 폐포는 X에 종속됐다고 추론할 수 있는 모든 속성의 집합을 의미
  • X -> Y, Z라면 X의 폐포는 X, Y, Z라고 함
    • X+ = X, Y, Z

4) 함수 종속일 때의 추론 규칙

  • 반사 규칙
    • A ⊇ B이면 A → B
  • 첨가 규칙
    • A → B이면 AC → BC
  • 이행 규칙
    • A → B이고 B → C이면 A → C
  • 분해 규칙
    • A → BC이면 A → B 또는 A → C
  • 결합 규칙
    • A → B이고 A → C이면 A → BC