Überflüssige Attribute auf der linken FD Seite

b00m3r
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 182
Registriert: 10. Okt 2005 11:02

Überflüssige Attribute auf der linken FD Seite

Beitrag von b00m3r »

Angenommen meine FD`s würden so aussehen.

F->{AB-> CD; AC -> F}

Die erste Abhängikeit kann ich so aufsplitten.
AB-> C
AB-> D

Mir ist nicht so klar ob ich das C in AC-> F streichen kann. A und B zusammen ergeben C oder kann man da nochmals mittels Erweiterung AB->C dahingehend auseinander nehmen, dass ich A->C und B->C schreiben kann.

Wenn ich diese Frage richtig beantwortet bekomme, dann sollte ich doch ein sehr sehr großen Schritt weiterkommen. Da ich noch arge Probleme bei Fd`s habe die so aussehen wie in Aufgabe 4.3 in der Übung. Wie kommt man auf die Schlüsselkandidaten {AG, AH, BDF, DG, DH}

Danke im vorraus. Hoffe auf rege Diskussionsteilnahme

apfel
Mausschubser
Mausschubser
Beiträge: 84
Registriert: 22. Apr 2005 08:50

Re: Überflüssige Attribute auf der linken FD Seite

Beitrag von apfel »

Um aus der linken Seite von AC->F das C streichen zu können, müsste das C aus dem Rest der linken Seite, also aus A, folgen. Aber AB->C in A->B und B->C zu zerlegen, geht nicht. Die Aussage von AB->C ist ja "wenn du A und B kennst, dann kennst du auch C", d.h. nur mit der Kombination aus den beiden Werten, kannst du auf C schliessen.

Die Schlüsselkandidaten zu bilden kann bisschen Aufwand bedeuten. Wir sind etwa so vorgegangen:

1. Zu jeder linken Seite L, bilde die Menge der Attribute, die von L abhängen. Das ist schon etwas Arbeit an sich. Dazu wenden wir iterativ, ausgehend von L, die Abängigkeiten an: Wenn wir L kennen, was kenn wir dann noch. Wenn wir das auch kennen, was kommt dann noch hinzu, usw. Das ist ganz analog zu Fixpunkt Bestimmen bei Datalog.

2. Kombiniere linke Seiten oder Teile von linken Seite so miteinander sie alle anderen Attribute determinieren (dass alle von ihnen abhängen). In anderen Worten: kombiniere sie zu einem Superschlüssel.

3. Wenn sparsam kombiniert wurde und kein Attribut rausgenommen werden kann, ohne das der Superschlüssels sein Superheit verliert, dann ist er ein Schlüsselkandidat. Superschlüssel sind gewissermaßen Schlüsselkandidat-Kandidaten, die sich aber nur Schlüsselkandidat nennen dürfen, wenn sie minimal sind.

4. Wiederhole 2. und 3. mit anderen Kombinationen solange, bis sich keine neuen Schlüsselkandidat mehr ergeben.

Dann kann theoretisch recht aufwendig sein. Aber es gibt Gründe, warum es oft doch nicht so aufwendig ist. Wenn wir z.B. AB schon als Superschlüssel identifiziert haben und gesehen haben, dass FG eventuell mit ein paar Zwischenschritten AB determiniert, dann wissen wir auch schon, dass auch FG ein Superschlüssel ist.

Antworten

Zurück zu „Archiv“