다중 값 종속성이란 무엇입니까?
테이블에 하나 이상의 행이 있다는 것이 동일한 테이블에 하나 이상의 다른 행을 의미하는 경우 다중값 종속성이 발생합니다.
테이블에 속성 P, Q 및 R이 있는 경우 Q 및 R은 P의 다중 값 팩트입니다.
이중 화살표 −
로 표시됩니다.->-> |
우리의 예:
P->->Q P->->R |
위의 경우 다중값 종속성은 Q와 R이 독립적인 속성인 경우에만 존재합니다.
다중값 종속성이 있는 테이블은 4NF를 위반합니다.
예
예를 살펴보겠습니다 &mins;
<학생>
학생 이름 | 과정 규율 | 활동 |
아미트 | 수학 | 노래 |
아미트 | 수학 | 댄스 |
유브라지 | 컴퓨터 | 크리켓 |
아카시 | 문학 | 댄스 |
아카시 | 문학 | 크리켓 |
아카시 | 문학 | 노래 |
위의 표에서 Amit 학생을 볼 수 있습니다. 및 아카시 하나 이상의 활동에 관심이 있습니다.
CourseDiscipline 때문에 이것은 다중값 종속성입니다. 학생의 활동은 독립적이지만 학생에 따라 다릅니다.
따라서 다중값 종속성 -
StudentName ->-> 코스 규율 StudentName ->-> 활동 |
위의 관계는 정규화의 제4정규형에 위배됩니다.
이를 수정하려면 테이블을 두 개의 개별 테이블로 나누고 다중값 종속성을 깨십시오.
<학생 과정>
학생 이름 | 과정 규율 |
아미트 | 수학 |
아미트 | 수학 |
유브라지 | 컴퓨터 |
아카시 | 문학 |
아카시 | 문학 |
아카시 | 문학 |
<학생 활동>
학생 이름 | 활동 |
아미트 | 노래 |
아미트 | 댄스 |
유브라지 | 크리켓 |
아카시 | 댄스 |
아카시 | 크리켓 |
아카시 | 노래 |
이것은 다중값 종속성을 깨고 이제 두 가지 기능적 종속성을 갖게 됩니다.
StudentName -> 코스 규율 학생 이름 -> 활동 |