Tut 04 Relationaler Entwurf - Teil 2 Flashcards
Welche Anomalien kennst du?
Einfügeanomalien
Löschanomalien
Änderungsanomalien
Wofür werden Normalformen benutzt?
Vermeidung noch Redundanzen
Knüpfen unterschiedliche Bedingungen an das Schema einer Datenbank.
Wann ist eine Relation in der 1. Normalform?
+ Bsp. für konkrete Maßnahmen
Wenn komplexe Attribute aufgelöst wurden.
Bsp. Student(Person(Firstname, Lastname), Semester)
wird zu Student(Firstname, Lastname, Semester)
und Wiederholungsgruppen aufgelöst wurden
Bsp. Book(ISBN§, {Author(ID, Firstname, Lastname)})
wird zu Book(ISBN§, AID§, AFirstname, ALastname)
Es darf nur atomare Attribute geben.
Wiederholungsgruppen können in eigenen Relationen zerlegt werden und erhalten dann zusätzlich den Primärschlüssel der alten Relation.
Primärschlüssel: §
Wann ist eine Relation in der 2. Normalform?
+ Bsp. für konkrete Maßnahmen
- NF muss gelten.
Keine echte Teilmenge des Primärschlüssels darf nicht Schlüssel-Attribute bestimmen.
R( A§, B§, C, D) mit B–>D
wird zu
R(A§, B–>S§, C) und S( B§, D)
Achtung! Relationen, die in der 1NF sind und einen einfachen Primärschlüssel haben, sind bereits in 2. NF!
Wann ist eine Relation in der 3. Normalform?
+ Bsp. für konkrete Maßnahmen
- NF muss gelten.
Jedes Nicht-Schlüssel-Attribut darf von keinem minimalen Superschlüssel transitiv abhängen.
R( A§, B§, C, D) mit C–>D
wird zu
R( A§, B§, C–>S) und S(C§, D)
Wann ist eine Relation in der Boyce-Codd Normalform?
+ Bsp. für konkrete Maßnahmen
- NF muss gelten
Ein Teilschlüssel darf nicht von einem Nicht-Schlüssel-Attribut funktional bestimmt werden.
R (A§, B§, C, D) mit C–>B
wird zu
R (A§, C–>S§, D) und S( C§, B)
Achtung! Alle Relationen, die sich in der 3. NF befinden und nur 2 Attribute haben, befinden sich bereits in der Boyce-Codd NF.
Wahr oder falsch?
Die Zerlegung in die Boyce-Codd NF ist abhängigkeitstreu, aber nicht verlustfrei.
Falsch!
Die Zerlegung in die Boyce-Codd NF ist verlustfrei, aber nicht abhängigkeitstreu. Das bedeutet, dass funktionale Abhängigkeiten verloren gehen können.
Wann ist eine Zerlegung verlustfrei?
Eine Zerlegung ist verlustfrei, wenn sich alle Tupel der ursprünglichen Tabelle durch einen Join aus den abgeleiteten Relationen wiederherstellen lassen.
Welche Normalisierungen sind verlustfrei?
Alle, einschließlich der Boyce-Codd Zerlegung.
Wann ist eine Zerlegung abhängigkeitstreu?
Wenn alle funktionalen Abhängigkeiten der Ausgangstabelle in den resultierenden Tabellen erhalten bleiben.
Welche Normalisierungen sind abhängigkeitstreu?
Alle, außer der Boyce-Codd Zerlegung.
Bei der Boyce-Codd Zerlegung kann Abhängigkeitstreue nicht garantiert werden.
Normalisiere die Relationen auf Folie 33 bis zur Boyce-Codd NF.
vgl. Folie 33 + weitere
Normalisiere die Relationen auf Folie 45.
vgl. Folie 46