>  기사  >  최소 기능 종속성 세트를 찾는 방법

최소 기능 종속성 세트를 찾는 방법

angryTom
angryTom원래의
2019-07-26 15:19:2826295검색

최소 기능 종속성 세트를 찾는 방법

추천 튜토리얼: FAQ

가정: 관계형 모델에서 R(U, F), U=ABCDEG, F={B->D, DG->C, BD->E,AG->B,ADG->BC}

F

의 최소 기능적 종속성 집합을 찾습니다. 단계:
  ① 분해 규칙을 사용합니다. F에서 함수적 종속성의 오른쪽 부분에는 하나의 속성만 포함됩니다.
 ② 중복된 함수적 종속성을 제거합니다. 첫 번째 함수적 종속성 X→Y에서 시작하여 F에서 제거한 다음 나머지 함수적 종속성 중에서 X 값을 찾습니다. 클로저 X+, X+에 Y가 포함되어 있는지 확인하고, 포함되어 있으면 X→Y를 제거하고, 그렇지 않으면 제거할 수 없으며 순서대로 계속합니다. 중복된 기능적 종속성이 발견되지 않을 때까지
 3각 종속성의 왼쪽에 있는 중복 속성을 제거하세요. 왼쪽의 비개별 속성에 대한 종속성에 대해 함수 종속성을 하나씩 확인합니다. 예를 들어 XY→A를 중복으로 판단한다면 XY→A를 X→A로 바꾸는 것과 동일한가요? A가 (X)+에 속하면 Y는 중복 속성이므로 제거할 수 있습니다.

해결책:
(1)

 우변이 가장 단순한지 확인하려면 F={B->D, DG->C, BD->E, AG를 얻습니다. ->B, ADG->B,ADG->C}

(2)

  ①B->D가 중복된다고 가정하고 B->D를 제거하면 G={DG를 얻습니다. ->C, BD->E,AG->B,ADG->B,ADG->C}B+ =B는 D를 포함하지 않으므로 중복되지 않으며 제거할 수 없습니다.

 ② DG->C가 중복된다고 가정하고 DG->C를 제거하고 다음을 얻습니다. G={B->D,BD->E,AG->B,ADG->B,ADG - >C}(DG)+ =DG는 C를 포함하지 않으므로 중복되지 않으며 제거할 수 없습니다.

 3 BD->E가 중복된다고 가정하고 BD->E를 제거하고 다음을 얻습니다. G={B->D, DG->C, AG->B,ADG->B,ADG - >C}(BD)+ =BD에는 E가 포함되어 있지 않으므로 중복되지 않으며 제거할 수 없습니다.

 4AG->B가 중복된다고 가정하고 AG->B를 제거하면 G={B->D, DG->C, BD->E, ADG->B, ADG -를 얻습니다. >C}(AG)+ =AG는 B를 포함하지 않으므로 중복되지 않으며 제거할 수 없습니다.

 ⑤ ADG->B가 중복된다고 가정하고 ADG->B를 제거하고 G={B->D, DG->C, BD->E, AG->B, ADG를 얻습니다. ->C}(ADG)+ =ABCDEG에는 B가 포함되어 있으므로 중복되므로 제거해야 합니다.

 ⑥ ADG->C가 중복된다고 가정하고 ADG->C를 제거하고 G={B->D, DG->C, BD->E, AG->B}(를 얻습니다. ADG)+ =ABCDEG에는 C가 포함되어 있으므로 중복되므로 제거해야 합니다.

요약: F={B->D, DG->C, BD->E, AG->B}

(3)

 ①D->C가 중복된다고 가정합니다. D+ =D에는 C가 포함되어 있지 않으므로 G를 제거할 수 없습니다.

 ② G->C가 중복된다고 가정하면, G+ =G는 C를 포함하지 않으므로 D를 제거할 수 없습니다.

 3 B->E가 중복된다고 가정하면, B+ =BD는 E를 포함하지 않으므로 D를 제거할 수 없습니다.

 4 D->E가 중복된다고 가정하면, D+ =D는 E를 포함하지 않으므로 B를 제거할 수 없습니다.

 ⑤ A->B가 중복되어 A+ =A에 B가 포함되어 있지 않으므로 G를 제거할 수 없다고 가정합니다.

 ⑥ G->B가 중복된다고 가정하면, G+ =G는 B를 포함하지 않으므로 A를 제거할 수 없습니다.

 그래서, Fm={B->D, DG->C, BD->E, AG->B}

위 내용은 최소 기능 종속성 세트를 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.