Normalformen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hallo,

    als nube in diesem Forum muss ich euch auch schon (leider) mit Fragen nerven
    :)

    Und zwar habe ich einige Verständnisschwierigkeiten was (wie der Titel schon sagt) Normalformen anbetrifft.

    1. Wenn eine Relation KEINEN Primärschlüssel hat, kann sie dann überhaupt noch die Bedingungen der zweiten Normalform erfüllen?
    Es ist doch verlangt, dass jedes Nicht-Schlüssel-Attribut voll funktional abhängig ist vom Primärschlüssel.

    2. {B,C}->{A} und {A}->{B}
    Meiner Meinung nach liegt hier eine transitive Abhängigkeit von einem Schlüssel ab.
    Und zwar gilt doch: {B,C}->{A}->{B}
    Womit aber auch {B,C}->{B} gilt.
    Hier stört mich aber (und daher die Frage), dass B ja ein Teilattribut des Schlüssels {B,C} ist.

    Bin dankbar für jeden Rat!
  • 1. Ich würde mal behaupten, dass schon in der zweiten Normalform jede Tabelle mind. einen Schlüssel braucht. Wobei ich die Unterscheidung in erste, zweite, dritte Normalform schon immer gehasst habe *g*

    2. Jaja, die kanonische Hülle, oder was das war ;) Ich glaube der Zyklus macht sich nicht gut... Hast du ein praktisches Beispiel?

    Ich hab das alles in meinen Vorlesungen stehen, aber hier gibts sowieso noch fittere Leute in Datenbanken :D
    Ansonsten schau ich später mal nach, bin nicht mehr so ganz in der DB-Theorie drinne.
  • 1. Wahrscheinlich hast du damit auch Recht!
    Bei meiner Aufgabe ist jetzt das Problem, das es in der Tabelle gar keinen Schlüssel gibt...womit aber ALLE Spalten zusammen den Schlüssel bilden...so habe ich es zu mindest verstanden.
    D.h. doch jetzt aber das es keine Nicht-Schlüsselattribute gibt?!
    Berichtigt mich bitte wenn ich falsch liege!

    2.ein praktisches Beispiel fehlt mir auch leider. Wir haben nur diese FDs bekommen und die ganze Tabelle besteht aus den Feldern A,B,C.

    Aber schon mal vielen Dank für deine Antwort: Ich habe bis jetzt nirgends sonst überhaupt auch nur eine einzige Antwort auf diese Frage bekommen.
    :(

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Helios Co. ()

  • Zu erstens: Eine sinnnvolle Relation ohne Schlüssel gibt es nicht. Normalisierung bezieht sich immer auf semantische Schlüssel, nie auf künstliche (sonst könnt mam mit einer ID Spalte im nu jede Normalenform herstellen). Auch wenn keiner Angegben wird, gibt es einen (den man u.U. nicht erkennt.

    Zu zweitens: Es ein Teilschlüssel hängt immer vom gesamten Schlüssel ab, sonst würde er keinen Sinn machen. A ist funktional Abhängig vom Schlüssel, und B sowieso.
    ~ mfg SeBa

    Ich beantworte keine PMs zu Computer-/Programmierproblemen. Bitte wendet euch an das entsprechende Forum.

    [Blockierte Grafik: http://i.creativecommons.org/l/by-sa/3.0/80x15.png]
  • Was ist denn nun der Schlüssel? Alles? Nichts? C & B? Im letzten Fall hast du wohl recht, allerdings kann ich mir eine "Ring"-Abhängigkeit (B,C -> A -> B) zum einen nicht vorstellen zum anderen weiß ich nicht wie du die auflösen willst. Semantisch müsste A dann zum Schlüssel gehören. Tabellen wo alle Attribute Schlüssel sind, sind trivial.
    ~ mfg SeBa

    Ich beantworte keine PMs zu Computer-/Programmierproblemen. Bitte wendet euch an das entsprechende Forum.

    [Blockierte Grafik: http://i.creativecommons.org/l/by-sa/3.0/80x15.png]
  • Semantisch müsste A dann zum Schlüssel gehören. Tabellen wo alle Attribute Schlüssel sind, sind trivial.
    Genau das denke ich halt auch. Deswegen bin ich mir auch nicht sicher, ob es sich hierbei überhaupt um eine transitive Abhängigkeit handelt.
    Semantisch gesehen ja eigentlich nicht so richtig *konfus sei*

    Was der Schlüssel ist, ist nicht explizit angegeben.
    Ich gehe davon aus, das BC ein Superschlüssel ist, da man durch ihn auf alle weiteren Attribute (hier nur noch A) schließen kann.
    Auch AC wäre ein Superschlüssel (wie man mittels Hülle bestimmen kann...was aber eiegtnlich auch logisch wäre in diesem Fall)
    Ein Superschlüssel ist aber natürlich noch nicht zwangsläufig ein Primärschlüssel, da er nicht Minimal sein muss.

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Ich habe noch eine zu diesem Thema verwandte Frage.
    Und zwar habe ich auf: wwwai.wu-wien.ac.at/inf_wirt/13.03.html folgendes gelesen:

    Es gelte z.B. für eine Relation R mit dem Attributetupel (A, B, C)
    die funktionale Abhängigkeit C -> A. Die Relation ist in 3. Normalform,
    da das Attributepaar A, B den Primärschlüssel darstellt, und somit
    A Teil des Primärschlüssels ist. Da jedoch C kein Schlüsselkandidat
    ist, befindet sich die Relation R nicht in BCNF.
    Hier ist mir nicht klar, wie man auf den Schlüssel, der ja aus dem Tupel AB bestehen sollt kommt?!

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Helios Co. ()

  • Du kannst keine Tabellen normalisieren, wenn du den Schlüssel nicht kennst (nicht kennen kannst). A, B und C sind keine sprechenden Spaltennamen, woher soll man wissen was Schlüssel ist. Bei solchen AUfgaben muss das vorgegeben sein.
    ~ mfg SeBa

    Ich beantworte keine PMs zu Computer-/Programmierproblemen. Bitte wendet euch an das entsprechende Forum.

    [Blockierte Grafik: http://i.creativecommons.org/l/by-sa/3.0/80x15.png]