다치 종속
From IT Wiki
- Multivalued Dependency
어떠한 조건을 만족하는 투플이 릴레이션 안에 있을 것을 요구하는 일종의 제약 조건
- 함수적 종속성에 속하는 것이 아닌, 별도로 구분되는 개념이다.
표현[edit | edit source]
다치 종속은 머리가 두 개인 이중 화살표(double arrow) ->> 로 표현
- A ->> B일 때 A가 B를 다치 결정한다고 말하고, B가 A에 다치 종속된다고 말한다.
다치 종속의 예시[edit | edit source]
학생 | 수강과목 | 동호회 |
---|---|---|
홍길동 | 수학
물리학 영어 |
스키반
서도회 |
임꺽정 | 물리학
화학 |
영어회화반
유도회 |
- 위와 같은 비정규 테이블을 정규화 하면 아래와 같다.
학생 | 수강과목 | 동호회 |
---|---|---|
홍길동 | 수학 | 스키반 |
홍길동 | 수학 | 서도회 |
홍길동 | 물리학 | 스키반 |
홍길동 | 물리학 | 서도회 |
홍길동 | 영어 | 스키반 |
홍길동 | 영어 | 서도회 |
임꺽정 | 물리학 | 영어회화반 |
임꺽정 | 물리학 | 유도회 |
임꺽정 | 화학 | 영어회화반 |
임꺽정 | 화학 | 유도회 |
- 정규화된 테이블은 모든 애트리뷰트로 구성되는 합성키(학생, 수강과목, 동호회)를 가지며, 다른 함수적 종속성이 존재하지 않으므로 BCNF에 해당
- 그러나, 수강과목과 동호회는 연관성이 없는 관계로 데이터의 심각한 중복성 발생
- 홍길동이 새로운 동호회에 가입하려면 레코드를 3개나 삽입 필요(삽입 이상)
- 이러한 경우를, 학생이 수강과목과 동호회를 다치 결정한다고 말할 수 있음
- 학생 -->> 수강과목 | 동호회