Empfohlenes Tutorial: FAQ
Annahme: Beziehung in Modus R(U, F), U=ABCDEG, F={B->D, DG->C, BD->E, AG->B, ADG->BC}
Finden Sie den minimalen funktionalen Abhängigkeitssatz von F
Schritte:
① Verwenden Sie die Zerlegungsregel , Stellen Sie sicher, dass der rechte Teil einer funktionalen Abhängigkeit in F nur ein Attribut enthält.
② Entfernen Sie redundante funktionale Abhängigkeiten: Entfernen Sie sie aus F, beginnend mit der ersten funktionalen Abhängigkeit X→Y, und suchen Sie dann den Abschluss X+ von X in den verbleibenden funktionalen Abhängigkeiten und prüfen Sie, ob X+ Y enthält. Wenn ja, entfernen Sie es Bis keine redundanten Funktionsabhängigkeiten mehr gefunden werden.
③Entfernen Sie die redundanten Attribute auf der linken Seite jeder Abhängigkeit. Überprüfen Sie die Funktionsabhängigkeiten einzeln auf Abhängigkeiten von nicht-einzelnen Eigenschaften auf der linken Seite. Wenn beispielsweise XY→A als redundant beurteilt werden soll, ist dies gleichbedeutend mit dem Ersetzen von XY→A durch X→A? Wenn A zu (X)+ gehört, ist Y ein redundantes Attribut und kann entfernt werden.
Lösung:
(1)
Um festzustellen, ob die rechte Seite die einfachste ist, erhalten wir F={B- >D,DG->C,BD->E,AG->B,ADG->B,ADG->C}
(2 )
① Unter der Annahme, dass B->D redundant ist, entfernen Sie B->D und erhalten: G={DG->C,BD->E,AG->B ,ADG-> B,ADG->C}B+ =B enthält kein D, ist also nicht redundant und kann nicht entfernt werden.
② Angenommen, DG->C ist redundant, entfernen Sie DG->C und erhalten Sie: G={B->D,BD->E,AG->B,ADG-> ; B,ADG->C}(DG)+ =DG enthält kein C, daher ist es nicht redundant und kann nicht entfernt werden.
③ Unter der Annahme, dass BD->E redundant ist, entfernen Sie BD->E und erhalten: G={B->D, DG->C, AG->B, ADG-> ;B,ADG->C}(BD)+ =BD enthält kein E, daher ist es nicht redundant und kann nicht entfernt werden.
④ Unter der Annahme, dass AG->B redundant ist, entfernen Sie AG->B und erhalten: G={B->D, DG->C, BD->E, ADG-> ;B,ADG->C}(AG)+ =AG enthält kein B, daher ist es nicht redundant und kann nicht entfernt werden.
⑤ Unter der Annahme, dass ADG->B redundant ist, entfernen Sie ADG->B und erhalten: G={B->D, DG->C, BD->E, AG-> ;B,ADG->C}(ADG)+ =ABCDEG enthält B, daher ist es redundant und sollte entfernt werden.
⑥ Unter der Annahme, dass ADG->C redundant ist, entfernen Sie ADG->C und erhalten: G={B->D, DG->C, BD->E, AG-> ;B}(ADG)+ =ABCDEG enthält C, daher ist es redundant und sollte entfernt werden.
Zusammengefasst: F={B->D, DG->C, BD->E, AG->B}
(3)
① Angenommen, D->C ist redundant, D+ =D enthält kein C, sodass G nicht entfernt werden kann.
② Angenommen, G->C ist redundant, G+ =G enthält kein C, sodass D nicht entfernt werden kann.
③ Angenommen, B->E ist redundant, B+ =BD enthält kein E, sodass D nicht entfernt werden kann.
④ Angenommen, D->E ist redundant, D+ =D enthält kein E, sodass B nicht entfernt werden kann.
⑤ Angenommen, A->B ist redundant, A+ =A enthält kein B, sodass G nicht entfernt werden kann.
⑥ Angenommen, G->B ist redundant, G+ =G enthält kein B, sodass A nicht entfernt werden kann.
Daher ist Fm={B->D, DG->C, BD->E, AG->B}
Das obige ist der detaillierte Inhalt vonSo finden Sie den minimalen funktionalen Abhängigkeitssatz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!