다치 종속

위키백과 ― 우리 모두의 백과사전.

다치 종속은 릴레이션 내의 두 애트리뷰트 집합 사이 성립하는 제약조건 중의 하나이다.

함수 종속과 달리 다치 종속은 어떠한 조건을 만족하는 투플이 릴레이션 안에 있을 것을 요구한다. 그러므로 다치 종속은 투플이 만들어내는 "종속" 중의 한 종류로 분류할 수 있다.

제4정규화에서 중요한 역할을 한다.

다치 종속은 머리가 두 개인 이중 화살표(double arrow) 그림: twoheadrightarrow.gif로 표기한다. A 그림: twoheadrightarrow.gif B일 때, A가 B를 다치 결정한다고 말하고, 다른 말로는 B가 A에 다치 종속된다고 말한다.

예를 들어 {과목} 그림: twoheadrightarrow.gif {교재}일 때, 과목 애트리뷰트가 교재 애트리뷰트의 값 하나를 결정하는 것이 아니라, 여러 개의 값, 즉 값의 집합을 결정한다는 뜻이다. [1]

목차

[편집] 정의

R을 릴레이션 스키마라고 하자. \alpha \subseteq R 이고 \beta \subseteq R라 하자. 만약 어떤 릴레이션 r(R)에 대해, t1[α] = t2[α]r 안의 모든 튜플의 쌍 t1t2에 대해, r 안에 다음과 같은 식이 성립하는 t3 and t4가 존재하면,
t1[α] = t2[α] = t3[α] = t4[α]
t3[β] = t1[β]
t3[R − β] = t2[R − β]
t4[β] = t2[β]
t4[R − β] = t1[R − β]

다치 종속
α 그림: twoheadrightarrow.gif β
R에 대해 성립한다.
[2]

[편집] 예제

다음 예제를 보라. 수업 부호와, 수업에서 권장되는 교재와, 강사 이름을 모아 놓은 데이터베이스이다:

Teaching database
수업 교재 강사
AHA Silberschatz John D
AHA Nederpelt John D
AHA Silberschatz William M
AHA Nederpelt William M
AHA Silberschatz Christian G
AHA Nederpelt Christian G
OSO Silberschatz John D
OSO Silberschatz William M

수업에 연계된 강사들과, 수업에 연계된 교재들이 서로 독립적이므로, 이 데이터베이스 설계에는 다치 종속이 존재한다; AHA 수업에 새로운 교재 하나를 추가한다면, 그 수업의 강사들 각각에 대해 레코드 하나씩을 추가해주는 등의 식으로 일을 해줘야 한다.
위 데이터베이스에는 두 개의 다치 종속이 존재한다. 그 두 개는 {수업} Image: twoheadrightarrow.gif {교재} 및 {수업} Image: twoheadrightarrow.gif {강사}이다.
다치 종속을 가진 데이터베이스는 결국 중복성을 보인다. 데이터베이스 정규화 과정 중 제 4 정규형이 다치 종속이 존재하지 않을 것을 요구한다.


[편집] 성질

  • 만약 α Image: twoheadrightarrow.gif β 이면 α Image: twoheadrightarrow.gif R − β 이다.
  • 만약 α Image: twoheadrightarrow.gif β 이고 \gamma \subseteq \delta 이면, αδ Image: twoheadrightarrow.gif βγ 이다.
  • 만약, α Image: twoheadrightarrow.gif β 이고, 만약 β Image: twoheadrightarrow.gif γ 이면, α Image: twoheadrightarrow.gif γ − β 이다.

다음 두 성질은 함수 종속과 관련있다.

  • 만약 α \rightarrow β이면, α Image: twoheadrightarrow.gif β이다.
  • 만약 α Image: twoheadrightarrow.gif β이고 β \rightarrow γ이면, α \rightarrow γ − β이다.

또한, 다음이 성립한다.

  • R에서 X Image: twoheadrightarrow.gif Y 가 성립한다는 것과, R을 (X,Y) 및 (X,R-Y)로 분해하는 것이 무손실 분해이라는 것은 동치이다.

[편집] 주석

  1. 이석호. 《데이터베이스시스템》. 정익사, 234,235.
  2. Silberschatz, Korth, Sudarshan. Database System Concepts, 5th Edition

[편집] 외부 고리

다른 언어