Seite 1 von 2

Schema zur Bestimmung der FDs

Verfasst: 7. Sep 2010 20:47
von brotkasten
Hi,
gibt es einen Algorithmus zur Bestimmung der FDs (bei gegebener Grundmenge funktionaler Abhängigkeiten)?
Mein bisheriger Ansatz ist "brute force", d.h. ich versuche mittels armstrongscher Axiome die FDs weiter aufzulösen. Leider ist meine Fehlerrate dabei ziemlich hoch, weil ich doch immer wieder etwas übersehe und meine Zettelwirtschaft zu arg schnell im Chaos versinkt. Bin für jeden Tip dankbar...

Grüße
brotkasten

Re: Schema zur Bestimmung der FDs

Verfasst: 8. Sep 2010 08:23
von oren78
brotkasten hat geschrieben:Hi, gibt es einen Algorithmus zur Bestimmung der FDs (bei gegebener Grundmenge funktionaler Abhängigkeiten)?
Mein bisheriger Ansatz ist "brute force"...
Das ist jetzt aber ein ganz schlechter witz, oder? Dir ist hoffentlich schon klar, dass die Klausur nächsten Montag stattfindet und das eine Aufgabe zu FD's mit 100% Wahrscheinlichkeit drankommt...? Die "Brute Force" Methode ist, wie du selbst angegeben hast nicht sonderlich intelligent 8)

Also folgendes, ich habe (heute) um 10 Uhr eine Sprechstunde in "E202, kom bitte dahin und wir versuchen zu retten, was noch retten ist, ok? :wink:

Re: Schema zur Bestimmung der FDs

Verfasst: 8. Sep 2010 09:57
von tobiasp
Ich finde manche Kommentare hier sehr inhaltsreich und motivierend ... (auch diesen :P)

Re: Schema zur Bestimmung der FDs

Verfasst: 8. Sep 2010 10:02
von mister_tt
:D Ja, sehr geil...

Aber bei welcher Aufgabe muss man denn die Hülle bilden / weitere FDs finden? Sowas war doch glaub ich nie verlangt, oder? Man musste doch immer nur überflüssige Attribute bzw. überflüssige FDs finden und entfernen... :?

Re: Schema zur Bestimmung der FDs

Verfasst: 8. Sep 2010 14:33
von brotkasten
oren78 hat geschrieben:
brotkasten hat geschrieben:Hi, gibt es einen Algorithmus zur Bestimmung der FDs (bei gegebener Grundmenge funktionaler Abhängigkeiten)?
Mein bisheriger Ansatz ist "brute force"...
Das ist jetzt aber ein ganz schlechter witz, oder? Dir ist hoffentlich schon klar, ... , wie du selbst angegeben hast nicht sonderlich intelligent 8)

Also folgendes, ich habe (heute) um 10 Uhr eine Sprechstunde in "E202, kom bitte dahin und wir versuchen zu retten, was noch retten ist, ok? :wink:
Ja, mir ist klar, dass es eine Klausur gibt. Ich werde Deinen Kommentar mal nicht werten und frage Dich lieber einmal warum Du Deine Energie mit solchen Posts verschwendest anstatt eine Antwort zu geben, die uns allen Hilfreich sein könnte? Belassen wir es mal dabei.
Wenn sich die Tutoren hier so weit aus dem Fenster lehnen, wieso sprechen wir nicht einmal über die Folien. Wieso steht der Kram da nicht ordentlich drin? Und wieso sind die DB Folien so furchtbar inkonsistent? Schauen wir mal auf ein Beispiel:

Die Definition des Quotienen (Relationale Algebra). Gegeben 2 Relationen R und S über die Relationenschemata R(A,B,C,D) und S(C,D):
\(R\div S=\pi_{(R-S)}(R)-\pi_{(R-S)}(\pi_{(R-S)}(R)\times S-R)\)

Dabei ist z.B. \((R-S)\) definiert als die Menge der Tupel, die in R aber nicht in S enthalten sind. \(\pi\) ist definiert über eine Relation \(R\) und "Komponenten" \(i_1,\dots,i_m\). Mit Komponenten sind wohl Komponenten des Relationenschemas gemeint (also im übertragenen Sinne die Spaltennamen einer tabellarischen Darstellung einer Relation). Damit ist schon fraglich ob \(\pi_{(R-S)}(R)\) überhaupt eine Bedeutung hat, bzw. einen Sinn ergibt. Man kann ja mal Raten.

Ein weiteres Beispiel. Bei den ERMs werden die Kardinalitäten fleissig vertauscht, mal schreibt man sie direkt an die Entität, mal an die Entität auf die man sich bezieht. Beispiel Folie 64/264, da steht eine Sprudelkiste mit einer Sprudelflasche in Beziehung und umgekehrt eine Sprudelflasche mit n Sprudelkisten - zumindest wenn man der in den Übungen verwendeten Notation folgt (z.B. Lösung zu Übung 2 Folie 5/19) da steht z.B. eine Übung mit 1 Mitarbeiter in Beziehung und umgekehrt 1 Mitarbeiter mit 0-N Übungen. Es werden Notationen und Abkürzungen in den Folien verwendet, die nicht eingeführt wurden z.B. Folie 58 (DB Folien)\(R=(\{ent(R)\}, attr(R))\). Klar kann man Raten, dass es sich bei \(ent(R)\) um die Menge der Entities handelt, die über R in Beziehung stehen und \(attr(R)\) die Menge der Attribute die zu R gehören. Der Punkt ist, ich nutze die Folien zum lernen, d.h. in der Regel ist mir die Materie neu. Das wiederum bedeutet, je weniger ich Raten muss umso weniger Missverständnisse gibt es. Darum helfen mir präzise Formulierungen.

Vor diesem Hintergrund kannst Du Dir ja denken wie sehr mir Dein Kommentar hilft. Danke für Dein Angebot aber ich helfe mir lieber selbst.

Grüße
brotkasten

Long story short: Danke für's Gespräch.

[EDIT] Falls ich das wirklich in den falschen Hals bekommen habe, dann entschuldige ich mich für die rüde Absage. Ich bin vvl. etwas sensibel, da ich den Ton hier im Forum manchmal etwas komisch finde.

Re: Schema zur Bestimmung der FDs

Verfasst: 8. Sep 2010 14:37
von MeisterSoda
Ich hätte es jetzt eher als nettes Angebot seinerseits gewertet. Da du dir gerne selbst hilfst: in den Tutoriumsfolien steht alles zum Syntheseverfahren. Ich vermute, dass du das suchst.

Viele Grüße

Re: Schema zur Bestimmung der FDs

Verfasst: 8. Sep 2010 15:40
von Tigger
brotkasten hat geschrieben: Ein weiteres Beispiel. Bei den ERMs werden die Kardinalitäten fleissig vertauscht, mal schreibt man sie direkt an die Entität, mal an die Entität auf die man sich bezieht. Beispiel Folie 64/264, da steht eine Sprudelkiste mit einer Sprudelflasche in Beziehung und umgekehrt eine Sprudelflasche mit n Sprudelkisten - zumindest wenn man der in den Übungen verwendeten Notation folgt (z.B. Lösung zu Übung 2 Folie 5/19) da steht z.B. eine Übung mit 1 Mitarbeiter in Beziehung und umgekehrt 1 Mitarbeiter mit 0-N Übungen.
Ich glaube du würfelst da gerade Komplexitäten und Kardinalitäten durcheinander. Ich glaube die Übung ist mit den Folien konsistent. In der Lösung von Aufgabe 2 werden nur die Komplexitäten angegeben. Wobei das in den Folien auch nicht wirklich gut erklärt ist.
Insgesamt muss ich dir jedoch zustimmen. Der DKE-Übungsbetrieb war mehr als peinlich. Wenn ich in einer Musterlösung mehr Fehler finde als in meiner Eigenen gibt einen das schon zu Denken. Vielleicht, lieber Oren, liegt das Unverständnis des Stoffs einer Studenten nicht an deren Lernunwilligkeit, sondern an euren miesen Übungen.

Re: Schema zur Bestimmung der FDs

Verfasst: 8. Sep 2010 16:13
von brotkasten
Tigger hat geschrieben: ... Ich glaube du würfelst da gerade Komplexitäten und Kardinalitäten durcheinander. Ich glaube die Übung ist mit den Folien konsistent. In der Lösung von Aufgabe 2 werden nur die Komplexitäten angegeben. ...
Joa, danke. Das hilft schonmal weiter. Das hatte ich in diesem Sinne noch nicht auf dem Schirm.

Re: Schema zur Bestimmung der FDs

Verfasst: 9. Sep 2010 09:18
von mister_tt
Heißes Pflaster hier...

Ich finde es definitiv auch sehr peinlich, dass SO viele Fehler in den Aufgabenstellungen und Musterlösungen stecken - das ist echt nicht in Ordnung. Das heißt aber noch nicht, dass die Übungen generell schlecht sind. Die Aufgaben finde ich fast alle ganz gut ausgewählt...

Und jetzt ganz ruhig weitermachen... ^^
Grüße,
Simon

Re: Schema zur Bestimmung der FDs

Verfasst: 9. Sep 2010 09:42
von oren78
Tigger hat geschrieben:Vielleicht, lieber Oren, liegt das Unverständnis des Stoffs einer Studenten nicht an deren Lernunwilligkeit, sondern an euren miesen Übungen...
Was ich halt von einigen leute hier scheiße finde ist das die glauben, sie hätten anrecht darauf alles vorgesetzt zu bekommen,
nur weil sie zu faul sind in: Folien, Übungen, Tutorien, Musterlösungen und haufenweise Forumthreads durchzuschauen...
Ihr seid hier an einer Uni, das bedeutet sich auch mal selbst gedanken zu machen, wie bestimmte dinge (z.b. irgendwelche Sythese Algo's)
funktionieren!!! ...und wenn ihr denkt die übungen sind "mies" dann behaltet mal im hinterkopf, wo ihr hier seid...die TUD ist schließlich keine FH 8)

Übrigens, zu der Zeit wo ich DKE gehört habe gb es KEINE:
  • Tutorien,
  • Neue Übungen,
  • ZWEI Probeklausuren die noch dazu vorgerechnet wurden
  • Viele Sprechstunden (seitens des Veranstalters UND uns Tutoren !!)
  • Hilfestellung AUßERHALB des Forums und unserer bezahlten Sprechstunden !!!
Insbesondere zum letzten Punkt könnt ihr gerne durch den C-Pool gehen und die leute die DKE lernen fragen, wieviel wir ihnen helfen !!!!

Lernt mal dieses "DKE-Rundum-Sorglos-Packet" zu respektieren und seid lieber dankbar, ich kenne KEINE andere
Veranstaltung die den Studenten derart entgegenkommt...

Re: Schema zur Bestimmung der FDs

Verfasst: 9. Sep 2010 09:52
von b00m3r
Da muss ich Oren vollkommen Recht geben. So eine Betreuung habe ich noch in keiner Vorlesung erlebt.

Re: Schema zur Bestimmung der FDs

Verfasst: 9. Sep 2010 12:33
von Jinx
b00m3r hat geschrieben:Da muss ich Oren vollkommen Recht geben. So eine Betreuung habe ich noch in keiner Vorlesung erlebt.
Das ist richtig. Nur scheint es leider auch nötig zu sein, denn der Anspruch ist recht hoch. Vermute mal, dass die Veranstallter gemerkt haben, dass Hilfe benötigt wird.
Dennoch hätte ich gerne Lecturnityaufnahmen gesehen wie z.B. in NCS.

Re: Schema zur Bestimmung der FDs

Verfasst: 9. Sep 2010 13:25
von brotkasten
oren78 hat geschrieben:
Tigger hat geschrieben:Vielleicht, lieber Oren, liegt das Unverständnis des Stoffs einer Studenten nicht an deren Lernunwilligkeit, sondern an euren miesen Übungen...
Was ich halt von einigen leute hier scheiße finde ist das die glauben, sie hätten anrecht darauf alles vorgesetzt zu bekommen,
nur weil sie zu faul sind in: Folien, Übungen, Tutorien, Musterlösungen und haufenweise Forumthreads durchzuschauen...
Ihr seid hier an einer Uni, das bedeutet sich auch mal selbst gedanken zu machen, wie bestimmte dinge (z.b. irgendwelche Sythese Algo's)
funktionieren!!! ...und wenn ihr denkt die übungen sind "mies" dann behaltet mal im hinterkopf, wo ihr hier seid...die TUD ist schließlich keine FH 8)
Lieber Oren. Erstmal machst Du hier annahmen, die Du überhaupt nicht belegen kannst. Wenn ich Deine Aussagen mal auf mich beziehe, woher willst Du wissen, dass ich zu faul bin? Ich lese die ganze Zeit quer, anders ist dieser Stoff auch nicht zu lernen. Trotzdem kann ich doch meinen Unmut darüber äussern wenn das Material, das zu einer Vorselung angeboten wird, unpräzise formuliert ist und beim Lernen zu vielen Missverständnissen führt. Und die Uni soll Dich in die Lage versetzen selbständig Forschungsarbeit zu leisten. Deiner Definition nach ist die Uni der Platz wo die Lehrmaterialien Mist sein dürfen, was vollkommener Blödsinn ist. Du magst vielleicht ein bissl Elitäres Bild von der Uni haben und gerne auf FHler runterschauen, ich persönlich finde das überheblich und dumm.
oren78 hat geschrieben: Übrigens, zu der Zeit wo ich DKE gehört habe gb es KEINE:
  • Tutorien,
  • Neue Übungen,
  • ZWEI Probeklausuren die noch dazu vorgerechnet wurden
  • Viele Sprechstunden (seitens des Veranstalters UND uns Tutoren !!)
  • Hilfestellung AUßERHALB des Forums und unserer bezahlten Sprechstunden !!!
Insbesondere zum letzten Punkt könnt ihr gerne durch den C-Pool gehen und die leute die DKE lernen fragen, wieviel wir ihnen helfen !!!!
Du hast Recht! Das Angebot ist super. Ich war auch schon in einer Probeklausur Session. Ohne eure Mühe wäre diese Lehrveranstaltung auch nicht zu schaffen. Nimm es nicht persönlich wenn ich auf die Materialien schimpfe. Ich finde Du solltest Deinen Ton auch ein bissl überdenken. Du lehnst Dich hier ziemlich weit aus dem Fenster. Wir sollten als Leidensgenossen lieber zusammenarbeiten als gegeneinander.
oren78 hat geschrieben: Lernt mal dieses "DKE-Rundum-Sorglos-Packet" zu respektieren und seid lieber dankbar, ich kenne KEINE andere
Veranstaltung die den Studenten derart entgegenkommt...
Du hast mit mir FoC gelernt. Schau Dir mal die Folien von Prof. Mantel an + Übungen. Der hatte klare, sehr präzise Folien und Übungen, die absolut geeignet waren den Stoff zu lernen, wenn man ab und an zusätzlichen Stoff gelesen hat. Es gibt keinen Grund hier auf alle Studenten zu schimpfen, zumal Du auch noch einer bist. Und ein Recht seine Meinung zu äußern hat hier auch jeder.

Re: Schema zur Bestimmung der FDs

Verfasst: 9. Sep 2010 14:58
von brotkasten
Um diesen Thread (hoffentlich zu beenden). Die tabellarische Methode zum Bestimmen der FDs scheint mir sehr geeignet (Lösung zum 4. Tutorium).

Code: Alles auswählen

Gegebene Attributmenge: {A,B,C,D,E,F,G}
Gegebene FDs: AB -> C, CD -> E, E -> FG, F -> D, G -> F


LINKE SEITE FD    | -> |    RECHTE SEITE FD
------------------+----+-------------------------
     AB           |    |    A B C
     CD           |    |        C D E
     E            |    |            E F G
     F            |    |          D   F
     G            |    |              F G

Finde linke Seiten in den rechten Seiten (neue Beiträge):
AB -> nein
CD -> nein
E -> JA: {CD}

LINKE SEITE FD    | -> |    RECHTE SEITE FD
------------------+----+-------------------------
     AB           |    |    A B C
     CD           |    |        C D E F G
     E            |    |            E F G
     F            |    |          D   F
     G            |    |              F G
Finde linke Seiten in den Rechten Seiten (neue Beiträge):
AB -> nein
CD -> nein
E -> nein
F -> Ja: {E,G}

LINKE SEITE FD    | -> |    RECHTE SEITE FD
------------------+----+-------------------------
     AB           |    |    A B C
     CD           |    |        C D E F G
     E            |    |          D E F G
     F            |    |          D   F
     G            |    |          D   F G

Finde linke Seiten in den Rechten Seiten (neue Beiträge):
AB -> nein
CD -> nein
E -> nein
F -> nein
G -> nein

fertig.
Ich hoffe ich habe das jetzt nicht verbockt, aber so in etwa müsste das laufen, oder?

Re: Schema zur Bestimmung der FDs

Verfasst: 9. Sep 2010 15:33
von b00m3r
Perfekt!
So sieht das bei mir auch aus SK:{(ABE), (ABCD)}

1. NF erfüllt
2. NF nicht erfüllt, da FG partiell von e abhängt

Dummy FD
abcdefg -> delta
AB -> C,
CD -> E,
E -> FG,
F -> D,
G -> F

Überflüssige Attribute
cdfg -> delta
Überflüssige Fd`s
E -> F

identische linke Seiten
F -> D, G -> F


Äquivalenzrelationen:

R1 = (ABC ,{AB})
R2 = (CDE, {CD})
R3 = (EF, {E})
R4 = (DFG, {(F),(G)})
R5 = (ABE {ABE})

Normalformen erfüllt