Übung 4.3 Schlüsselkandidaten

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

Übung 4.3 Schlüsselkandidaten

Beitrag von b00m3r »

Hallo zusammen,

ich habe noch Probleme mit FD`s in denen links wie rechts mehrere Attribute vorkommen. Mir fehlt da ein geeignetes Konzept, um das ich mein bisheriges Konzept erweitern kann.
Mein bisheriges Konzept funktioniert so, dass ich AB -> CD als Start-FD nehme und nach einer linken Seite 'CD' Suche. Dies ist in diesem Beispiel nicht der Fall, deshalb splitte ich die FD auf in AB-> C und AB -> D. Es existieren ebenfalls keine FD`s mit 'C' oder 'D' als linke Seite der FD. Dieses Vorgehen klappt bei FD`s wie in 4.2 einwandfrei.

Würde intuitiv nun so fortfahren, dass ich AB-> CD so aufsplitte das ich A -> B, A-> CD sehe wobei ich A-> CD in A->C und A->D aufsplitten kann was mich zu AC-F führt.
Somit wäre nun AB-> CD, AC-> F in meiner Hülle, die somit folgende Elemente beinhaltet: ABCDF

1. Frage ist das so legitim oder mache ich einen Fehler?
2. Kann ich jetzt aus den Elementen ABCDF mir die Attribute so rausholen das ich sagen kann BC gehören zur Hülle somit kann ich BC->EG dazu holen.

Ihr merkt ich bin in der Bearbeitung von komplexen FD`s sehr unsicher. Wäre toll wenn ihr mal Schrittweise darstellen könntet, wie ihr die 4.3 Schrittweise abarbeitet um auf die in der Lösung genannten SK`s zu kommen.

Hoffe auf eine gute Diskussion!!

Benutzeravatar
UdoWeber
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 156
Registriert: 8. Nov 2009 15:13

Re: Übung 4.3 Schlüsselkandidaten

Beitrag von UdoWeber »

Tja bis dato keine Antwort, schade, hab mir die selbe Frage gestellt, wie kommt man Schrittweise auf alle SK´s die in der Mustelösung stehen, ich komm nur auf {ab} und {de} über eine kleine Tabelle die ich mir immer mach, aber wie kommt man auf die anderen!?
Für Hilfe wäre ich dankbar :)

Gruß Udo

Benutzeravatar
oren78
BSc Spammer
BSc Spammer
Beiträge: 1373
Registriert: 17. Nov 2006 17:47
Wohnort: Darmstadt

Re: Übung 4.3 Schlüsselkandidaten

Beitrag von oren78 »

UdoWeber hat geschrieben:Tja bis dato keine Antwort, schade, hab mir die selbe Frage gestellt, wie kommt man Schrittweise auf alle SK´s die in der Mustelösung stehen, ich komm nur auf {ab} und {de} über eine kleine Tabelle die ich mir immer mach, aber wie kommt man auf die anderen!?
Für Hilfe wäre ich dankbar :)

Gruß Udo
Also folgendes, du gehst alle Attribut-Kombinationen (auf der linken seite) durch, die in sich geschlossen minimal sind und dennoch
alle anderen Attribute erreichen können (sprich deren hülle sämtliche Attribute abdeckt)...

OK, noch mal langsam, was heißt das ?
Beispiel: Sei R = ABCD und sei die Menge der Schlüsselkandidaten SK := { {A,B}, {A,D} } völlig unabhängig wie die FD's aussehen..
Es gilt also: AB ---> ABCD sowie AD ---> ABCD, jede kombination der Attribute auf der linken Seite der FD's,
die minimal ist (also die nicht AB oder AD in sich hat) und dessen hülle: ABCD ist, ist gleichzeitig ein schlüsselkandidat, soweit verstanden?

Also z.B. es gäbe die FD: C ---> AB, dann wäre die kombination "ABC" zwar ein "möglicher" kandidat ---> der aber NICHT minimal ist
und daher niemals ein Schlüsselkandidat sein kann..


Hoffe die Info, bzw. beispiel hat geholfen? Ansonsten sag noch mal bescheid...
"Unter allen menschlichen Entdeckungen sollte die Entdeckung der Fehler die wichtigste sein.", Stanisław Jerzy Lec

Benutzeravatar
UdoWeber
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 156
Registriert: 8. Nov 2009 15:13

Re: Übung 4.3 Schlüsselkandidaten

Beitrag von UdoWeber »

Ok, soweit klar. Bei Aufgabe 4.3 würde ich so vorgehen:

Code: Alles auswählen

F = {AB -> CD, DE -> AB, AC -> F, BF -> EG, E -> C, G -> H, H -> BF}


Dann würde ich für jede FD erst die trivialen, dann die gegebenen und dann die transitiven aufschreiben.

Code: Alles auswählen

AB -> CD -----> ABCDEFGH
DE -> AB -----> ABCDEFGH
AC -> F   -----> ACF
BF -> EG -----> BCEFGH
E   -> C   -----> CE
G   -> H   -----> BCEFGH
H   -> BF  -----> BCEFGH


Also wären für mich Schlüsselkandidaten

Code: Alles auswählen

{AB,DE}
In der Musterlösung stehen jetzt aber noch

Code: Alles auswählen

{AB, DE, ---> AG, AH, BDF, DG, DH}
wie komme ich zu diesen!? Vorallem wie kann BDF einer sein, ist doch nicht minimal!?

Danke für die Hilfe.

Gruß Udo

Benutzeravatar
oren78
BSc Spammer
BSc Spammer
Beiträge: 1373
Registriert: 17. Nov 2006 17:47
Wohnort: Darmstadt

Re: Übung 4.3 Schlüsselkandidaten

Beitrag von oren78 »

UdoWeber hat geschrieben:...wie komme ich zu diesen!? Vorallem wie kann BDF einer sein, ist doch nicht minimal!?
Erkläre du es mir, warum ist BDF nicht minimal...? Wie lautet die Hülle von der "Teilmenge" BF ???
"Unter allen menschlichen Entdeckungen sollte die Entdeckung der Fehler die wichtigste sein.", Stanisław Jerzy Lec

henß
Mausschubser
Mausschubser
Beiträge: 45
Registriert: 18. Nov 2009 14:50

Re: Übung 4.3 Schlüsselkandidaten

Beitrag von henß »

Schönen Abend,

bei der Suche nach den Schlüsselkandidaten müssen alle Kombinationen der Determinanten betrachtet werden,
sofern diese nicht schon Superschlüssel sind, also wie AB und DE schon alle Attribute funktional bestimmen.

Im Fall von BF fehlen noch A und D auf der rechten Seite, also holen wir sie uns von DE. Das E ist ja schon
impliziert, also ist nur das D neu und gehört auf die linke Seite. Aus dieser Perspektive wäre auch ABF ein Weg
die Menge zu vervollständigen. Allerdings könnte man hier einfach das F streichen, AB bliebe Superschlüssel
bzw. der bekannte Schlüsselkandidat. Also hätten wir nichts neues gefunden.

Minimal heißt also, daß man auf linker Seite nichts streichen kann ohne Attribute auf der rechten Seite zu
verlieren. BDF ist demnach minimal und Schlüsselkandidat.

Ich hoffe, ich habe auf die richtige Frage geantwortet und konnte helfen :)

Benutzeravatar
oren78
BSc Spammer
BSc Spammer
Beiträge: 1373
Registriert: 17. Nov 2006 17:47
Wohnort: Darmstadt

Re: Übung 4.3 Schlüsselkandidaten

Beitrag von oren78 »

henß hat geschrieben:...

Minimal heißt also, daß man auf linker Seite nichts streichen kann ohne Attribute auf der rechten Seite zu
verlieren. BDF ist demnach minimal und Schlüsselkandidat.

Ich hoffe, ich habe auf die richtige Frage geantwortet und konnte helfen :)
Vollkommen korrekt, nur schade das Udo nicht die möglich gehabt hat, davor zu antworten 8)

Noch was bzgl. Minimalität: Scheinbar gibt es immernoch einige leute die denken, Minimalität hängt mit der
Anzahl der Attributen zusammen ---> FAIL...

Wie "henß" es bereits erwähnt hat, bedeutet die Minimalität nichts weiter als die Tatsache das ein Attribut auf
der linken Seite einer FD genau dann überflüssig und somit weggestrichen werden kann, sofern dessen hülle
unberührt bleibt...
"Unter allen menschlichen Entdeckungen sollte die Entdeckung der Fehler die wichtigste sein.", Stanisław Jerzy Lec

Benutzeravatar
UdoWeber
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 156
Registriert: 8. Nov 2009 15:13

Re: Übung 4.3 Schlüsselkandidaten

Beitrag von UdoWeber »

Noch was bzgl. Minimalität: Scheinbar gibt es immernoch einige leute die denken, Minimalität hängt mit der
Anzahl der Attributen zusammen ---> FAIL...
Danke, genau hier lag mein Fehler ;)

Jetzt frag ich mich aber immer noch, wie ich mit einem einfachen Verfahren auf die anderen Schlüsselkandidaten komme?

Sprich von

Code: Alles auswählen

AB -> CD -----> ABCDEFGH
DE -> AB -----> ABCDEFGH
AC -> F   -----> ACF
BF -> EG -----> BCEFGH
E   -> C   -----> CE
G   -> H   -----> BCEFGH
H   -> BF  -----> BCEFGH
auf

Code: Alles auswählen

{AB, DE, ---> AG, AH, BDF, DG, DH}
Bei AG z.B. habe ich doch nur

Code: Alles auswählen

G -> H ---> BCEFGH 
und für A -> habe ich doch keine FD, nur für

Code: Alles auswählen

AC -> F ---> ACF
oder wird da noch ein Attribut auf der linken Seite entfernt? Wobei mir dann immer noch D fehlt!?

Danke für eure Hilfe :)
Gruß Udo

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

Re: Übung 4.3 Schlüsselkandidaten

Beitrag von b00m3r »

Du musst dich nun Fragen, wie bekomme ich für die Elemente die BCEFGH als momentane Hülle haben auf die vollständige Hülle.

Indem du jedem Element ein A spendierst :). Des Weiteren gibt es dann noch die Möglichkeit ein D zu spendieren weil du über DE in der Hülle (rechte Seite) auf das A schließen kannst.
Ein effizientes Verfahren ausser "genaues" Hinsehen und ausprobieren hab ich aber auch nicht. Es ist halt auffällig wenn es FDs gibt, die nahezu eine vollständige Hülle haben. Man muss sich dann immer Fragen was muss ich spendieren, damit die Hülle vollständig ist und somit SK. Nachdem du was gefunden hast dann der Test auf minimalität. Wenn das alles gemacht solltest du auf alle SKs kommen.

Benutzeravatar
UdoWeber
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 156
Registriert: 8. Nov 2009 15:13

Re: Übung 4.3 Schlüsselkandidaten

Beitrag von UdoWeber »

Danke für die Antwort, also muss ich das genaue Hinsehen üben ;)

Benutzeravatar
oren78
BSc Spammer
BSc Spammer
Beiträge: 1373
Registriert: 17. Nov 2006 17:47
Wohnort: Darmstadt

Re: Übung 4.3 Schlüsselkandidaten

Beitrag von oren78 »

b00m3r hat geschrieben:Du musst dich nun Fragen, wie bekomme ich für die Elemente die BCEFGH als momentane Hülle haben auf die vollständige Hülle.

Indem du jedem Element ein A spendierst :). Des Weiteren gibt es dann noch die Möglichkeit ein D zu spendieren weil du über DE in der Hülle (rechte Seite) auf das A schließen kannst.
Ein effizientes Verfahren ausser "genaues" Hinsehen und ausprobieren hab ich aber auch nicht. Es ist halt auffällig wenn es FDs gibt, die nahezu eine vollständige Hülle haben. Man muss sich dann immer Fragen was muss ich spendieren, damit die Hülle vollständig ist und somit SK. Nachdem du was gefunden hast dann der Test auf minimalität. Wenn das alles gemacht solltest du auf alle SKs kommen.
Genau das hab ich oben hingeschrieben, ich kenne leider auch keine effiziente methode außer halt, wie gesagt, jede mögliche kombination der attribute auf der linken seite der FD's anzuschauen sodass deren hülle zwar vollständig ist aber die linke seite gleichzeitig minimal ist...

Noch ein beispiel:

Sei R = ABCD, FD := {

Code: Alles auswählen

AB ---> D,
AC ---> BC,
C ---> AD,
A ---> BD
}

Wir bilden die hüllen...

Code: Alles auswählen

AB ---> AB D
AC ---> ABCD
C  ---> ABCD
A  ---> AB D
Offensichtlich sind hier { { A,C }, { C } } die mögliche Kandidaten...Nun fällt hier erstmal schnell
auf das AC nicht minimal sein kann (da C ja drin vorkommt und die Hülle von C vollständig ist).
Damit gilt also für die Menge der Schlüsselkandidaten \(\mathcal S \mathcal K\) nur { { C } }, oder? Betrachten wir alle anderen Kombinationen:

AD, BC, BD, CD = FAIL... ---> Daher ist C der alleinige schlüsselkandidat...

Hoffe das Beispiel hat jetzt allen hier geholfen...?? ---> Wenn nicht ---> Feedback !! 8)
"Unter allen menschlichen Entdeckungen sollte die Entdeckung der Fehler die wichtigste sein.", Stanisław Jerzy Lec

Antworten

Zurück zu „Archiv“