funk. Abhängigkeit / verbundstreue Dekomposition

  • ja, ich versuchs mal...


    also, eine funktionale abhängigkeit zwischen den Attributen X und Y besteht, wenn ein gewisser Wert von X einen gewissen Wert von Y eindeutig bestimmt. Dabei muss aber nicht gelten, dass ein gewisser Wert von Y auch X eindeutig bestimmt, d.h. es muss nur in eine Richtung eindeutig sein...


    Bsp: angenommen eine Firma namens "blah gmbh" hat ein Produkt "bleh" auf den Markt gebracht.
    In deiner Datenbank gibt es eine Tabelle mit Produktname, Firma und Preis und etc...


    jetzt weißt du aber, dass das Produkt "bleh" eindeutig der Firma "blah gmbh" zugeteilt wird, weil ja nur die das herstellt, d.h. wenn in deiner Produktabelle in einem Tupel das Attribut Produktname = "bleh" gilt, dann weißt du, dass in Hersteller "bleh gmbh" stehen MUSS, d.h. Produktname bestimmt Hersteller eindeutig und es gilt die funktionale Abhängigkeit Produktname -> Hersteller
    Wenn in deiner Tabelle jetzt mehrere Tupel mit "bleh" als Produktnamen vorkommt, dann speicherst du in "Hersteller" dazu jeweils redundante Information, weil du ja weißt, das "bleh" nur von "blah gmbh" hergestellt wird! Jetzt lagerst du also einfach den Produktnamen mit hersteller in eine neue Tabelle Herstellerliste(Produktname, Hersteller) aus und streichst "Hersteller" aus der Preistabelle, voila, schon ist das in 2NF


    Gut, und verbundtreue Dekomposition bedeutet jetzt, dass du funktionale Abhängigkeiten so ausnutzt, dass du eine Tabelle in n Tabellen zerlegst, aber durch Verbund über gewisse Attribute (die eben in funkt. Ab. stehen) wieder in die Originaltabelle eindeutig zurückführen kannst...


    hoffe, das hilft dir ein bissl!

  • die 1. normalform is das simpelste was ud dir vorstellen kannst


    besagt nur, dass in deiner tabelle nur "atomare" attirbute vorkommen dürfen, dh. du darfst zb nicht im feld "autor" eines buches stehen haben "schildt , blieberger, redlein", sondern musst 3 einzelne tupel machen , für jeden autor des gleichen buches trotzdem ein eigenes tupel


    also keine beistriche und mehrfacheinträge in einer zeile sozusagen..

  • Zitat

    Original geschrieben von Walter Huber
    das war wirklich eine fabelhafte erklärung der 2.nf und ich habs gecheckt... nur was ist die 1.nf?


    Danke! Über die Normalformen hab ich mich jetzt im "Normalisierungs" Thread ausgelassen, vielleicht hilft dir das!