Vorlesung #5 Überführung (Fortsetzung) / Normalformen
Vorlesung #5 - Überführung ... / Normalformen „Fahrplan“ Übungsblatt 4 Wiederholung/Fortsetzung: Überführung des ER-Modells in das relationale Modells Relationale Modellierung der Generalisierung und schwacher Entitytypen Normalformen intuitiv 1. NF 2. NF 3. NF Weitere Normalformen (BCNF., 4. ,5. ) © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Orientierung (Einordnung – wo stehen wir?) Miniwelt UML-Klassen ER-Diagramm 1. Objektorientiertes Schema Relationales Schema Netzwerk- Schema 2. Index(e) Cluster partitionierte Tabelle(n) DBMS -Speicherparameter 3. © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Transformationsregeln: ER Modell relationales Modell Entitiytyp Relation (selbsterklärend) 1:1 Beziehungstyp Relation Ein Fremdschlüssel der an der Beziehung teilnehmenden Entitytypen wird als Schlüssel der Relation übernommen. Der andere Schlüssel bleibt als Attribut(menge) in der Relation bestehen. 1:n Beziehungstyp Relation Ein Fremdschlüssel - Schlüssel des „n-Entitytypen“ wird als Schlüssel übernommen, der andere Schlüssel bleibt als Attribut(menge) in der Relation bestehen n:m Beziehungstyp Relation Beide Fremdschlüssel werden als Schlüssel der Relation übernommen © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Vorlesung #5 - Überführung ... / Normalformen © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Vorlesung #5 - Überführung ... / Normalformen © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Vorlesung #5 - Überführung ... / Normalformen © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Vorlesung #5 - Überführung ... / Normalformen © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Vorlesung #5 - Überführung ... / Normalformen © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Vorlesung #5 - Überführung ... / Normalformen © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Vorlesung #5 - Überführung ... / Normalformen © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Vorlesung #5 - Überführung ... / Normalformen © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Wie gut ist mein Entwurf? Das relationale Modell bzw. das relationale Schema wird in einem real existierenden DBMS umgesetzt Wie gut ein Modell ist, lässt sich mit Hilfe der relationalen Entwurfstheorie und der Normalformen bestimmen Wenn das konzeptuelle Schema (ER-Diagramm) „vernünftig“ ist und die Überführung in das relationale Schema unter der Beachtung der Transformationsregeln durchgeführt wurde, ist das relationale Schema auch „gut“ (meistens in der dritten Normalform 3NF) „gut“ – Im Hinblick auf die relationale Theorie nicht auf die „Sinnhaftigkeit im Anwendungsfall“ © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Vorlesung #5 - Überführung ... / Normalformen Schlechte Entwurfe Jetzt wollen wir aber ein paar schlechte Entwurfe kennenlernen ... !!! Kommen in der Praxis sehr oft vor, z.B. in Form von „konsolidierten“ Excel-Reports !!! Kemper 6.15 - ... © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Einführung / Motivation Das Ziel: Update-Anomalien und Daten-Inkonsistenzen vermeiden Update-Anomalien und Daten-Inkonsistenzen sind die Folge von unkontrollierten Redundanzen Man bemüht sich, Informationen möglichst einmalig zu speichern Ausfallssicherheit und Performance werden durch kontrollierte Redundanzen (Mehrfachspeicherung) zu realisieren (Bsp. RAID, Materialisierte Sichten, Star-Schemata, Replikationen usw.) Normalformen sind das Mittel, die Güte eines relationalen Modells zu bestimmen, sind aber auch auf andere (nicht relationale Modelle) anwendbar © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Vorlesung #5 - Überführung ... / Normalformen Erste Normalform 1NF Ein „Datensatz“ bzw. Tabellen-Zeile bzw. Tupel darf nicht ein Attribut enthalten, das aus mehreren Attributen zusammengesetzt ist bzw. alle Attribute müssen atomar sein Nicht erlaubt sind zusammengesetzte Attribute wie string x string x integer sondern lediglich atomare wie string oder integer Im relationalen Modell ist es per Definition der Fall Kein „Einnisten“ oder „Vererben“ weiterer Attribute in einem Attribute, wie bei der Objekt-Orientierung © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Erste Nomalform 1NF - Beispiel Eltern Vater Mutter Kinder Johann Martha {Else, Lucie} Maria {Theo, Josef} Heinz {Cleo} Nicht in 1 NF Eltern Vater Mutter Kind Johann Martha Else Lucie Maria Theo Josef Heinz Cleo 1 NF © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Vorlesung #5 - Überführung ... / Normalformen Zweite Normalform 2NF Kommt nur in Frage, wenn wir es mit zusammengesetzten Schlüsseln zu tun haben! 2 NF ist dann verletzt, wenn ein Teil des zusammengesetzten Schlüssels ein Nichtschlüssel-Attribut bestimmt Kemper‘s Beispiel: Studentenbelegungen (Studenten und Vorlesungen „zusammengemischt“, daher MatrNr,VorlNr zusammengesetzter Schlüssel) MatrNr alleine bestimmt Name Verstoß gegen 2 NF © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Vorlesung #5 - Überführung ... / Normalformen Dritte Normalform 3NF Bei der 2 NF ging es um Attribute die zu einem zusammengesetzten Schlüssel gehören Bei der 3 NF geht es um Nicht-Schlüssel-Attribute Ein Verstoß gegen die 3NF liegt dann vor, wenn ein Nicht-Schlüssel-Attribute ein anderes Nicht-Schlüssel-Attribut bestimmt © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Vierte und Fünfte Normalform Es geht um zusammengesetzte Schlüssen Der Sinn: Anzahl der Attribute verringern, die einen zusammengesetzten Schlüssel ausmachen © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Vorlesung #5 - Überführung ... / Normalformen Ausblick Vorlesung #6 Relationale Entwurfstheorie Funktionale Abhängigkeiten Dekomposition Verlustlosigkeit Abhängigkeitserhaltung Normalformen formell 1 NF 2 NF 3 NF BCNF, 4 NF, 5NF © Bojan Milijaš, 21.09.2018 Vorlesung #5 - Überführung ... / Normalformen
Vorlesung #5 Ende