다치 종속
다치 종속은 릴레이션 내의 두 애트리뷰트 집합 사이 성립하는 제약조건 중의 하나이다.
함수 종속과 달리 다치 종속은 어떠한 조건을 만족하는 투플이 릴레이션 안에 있을 것을 요구한다. 그러므로 다치 종속은 투플이 만들어내는 "종속" 중의 한 종류로 분류할 수 있다.
제4정규화에서 중요한 역할을 한다.
다치 종속은 머리가 두 개인 이중 화살표(double arrow)
로 표기한다.
일 때, A가 B를 다치 결정한다고 말하고, 다른 말로는 B가 A에 다치 종속된다고 말한다.
예를 들어 {과목}
{교재}일 때, 과목 애트리뷰트가 교재 애트리뷰트의 값 하나를 결정하는 것이 아니라, 여러 개의 값, 즉 값의 집합을 결정한다는 뜻이다. [1]
목차 |
정의 [편집]
을 릴레이션 스키마라고 하자.
이고
라 하자. 만약 어떤 릴레이션
에 대해,
인
안의 모든 튜플의 쌍
과
에 대해,
안에 다음과 같은 식이 성립하는
and
가 존재하면,
다치 종속
![]()
![]()
가에 대해 성립한다.
[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 수업에 새로운 교재 하나를 추가한다면, 그 수업의 강사들 각각에 대해 레코드 하나씩을 추가해주는 등의 식으로 일을 해줘야 한다.
위 데이터베이스에는 두 개의 다치 종속이 존재한다. 그 두 개는 {수업}
{교재} 및 {수업}
{강사}이다.
다치 종속을 가진 데이터베이스는 결국 중복성을 보인다. 데이터베이스 정규화 과정 중 제 4 정규형이 다치 종속이 존재하지 않을 것을 요구한다.
성질 [편집]
다음 두 성질은 함수 종속과 관련있다.
또한, 다음이 성립한다.
주석 [편집]
외부 고리 [편집]
- Multivalued dependencies and a new Normal form for Relational Databases (PDF) - Ronald Fagin, IBM Research Lab
을 릴레이션 스키마라고 하자.
이고
라 하자. 만약 어떤 릴레이션
에 대해,
인
안의 모든 튜플의 쌍
과
에 대해,
and
가 존재하면,![t _1[\alpha] = t _2 [\alpha] = t _3 [\alpha] = t _4 [\alpha]](http://upload.wikimedia.org/math/8/5/d/85dfa6c14b7eddaacd959fe36645bb7e.png)
![t _3[\beta] = t _1 [\beta]](http://upload.wikimedia.org/math/c/a/7/ca736f7724f1a97d2399cf73db719652.png)
![t _3[R - \beta] = t _2 [R - \beta]](http://upload.wikimedia.org/math/f/c/b/fcbff7e18df9591c9c1ed09355ea6014.png)
![t _4[\beta] = t _2 [\beta]](http://upload.wikimedia.org/math/a/1/2/a12ea64b17943932a37ad5453f927e86.png)
![t _4[R - \beta] = t _1 [R - \beta]](http://upload.wikimedia.org/math/0/b/5/0b5bda4e4851fe2b567c8be94ac569cc.png)

이다.
이면,
이다.
이면,
이다.