310 likes | 681 Views
Datenbankdesign und Normalisierung. Datenbankdesign. Erste Vorüberlegungen (Was? Wie?) Datenmodellierung Wie viele Tabellenspalten, welche Datentypen? Tabellen anlegen mit den 5 Normalformen. Grundsätze bei der Datenmodellierung. Keine Redundanz
E N D
Datenbankdesign und Normalisierung Allgemeine Technologien II - SS 2009
Datenbankdesign • Erste Vorüberlegungen (Was? Wie?) • Datenmodellierung Wie viele Tabellenspalten, welche Datentypen? • Tabellen anlegen mit den 5 Normalformen Allgemeine Technologien II - SS 2009
Grundsätze bei der Datenmodellierung • Keine Redundanz (doppeltes Vorhandensein einzelner Daten) • Eindeutigkeit Schlüssel • Datenintegrität erzwingen (Einschränkungen vorgeben Welche Werte) • Keine Prozessdaten Allgemeine Technologien II - SS 2009
Normalisierung von Datenbanken • Grob gesagt: Regelwerk zur Vermeidung von bestimmten Problemen bei einer Datenbank • Durch E.F. Codd begründet (1970) • Komplexe Tabellen durch Aufteilen – nach bestimmten Regeln - in mehrere Tabellen vereinfachen • Dafür bedient man sich den 5 Normalformen Allgemeine Technologien II - SS 2009
Ablauf • Das Relationenschema wird dabei in die erste, zweite, dritte usw. Normalform überführt. • Damit ein Relationenschema in einer Normalform vorliegt, muss es die Kriterien der jeweiligen Normalform erfüllen. • Die ersten 3 Normalformen sind die wichtigsten Allgemeine Technologien II - SS 2009
1. Normalform • Erreicht, wenn: • Pro Tabellenfeld nur ein Wert • Atomare Attributwerte • Eindeutiger Primärschlüssel Abfragen durch die 1NF erleichtert bzw. überhaupt erst ermöglicht, da die Attributwertebereiche atomar sind. Allgemeine Technologien II - SS 2009
Verletzung der 1.Normalform Allgemeine Technologien II - SS 2009
Lösung: Allgemeine Technologien II - SS 2009
Da jetzt jeder Attributwertebereich atomar ist sowie die Tabelle einen eindeutigen Primärschlüssel (Verbundschlüssel aus den Spalten CD_ID und Track) besitzt, befindet sich die Relation in 1NF. Allgemeine Technologien II - SS 2009
1.NF ??? Allgemeine Technologien II - SS 2009
2. Normalform • Erreicht, wenn • 1. Normalform vorhanden • jedes Nichtschlüsselattribut von jedem Schlüsselkandidaten voll funktional abhängig ist. • Anders gesagt: Jedes nicht-primäre Attribut (nicht Teil eines Schlüssels) ist jeweils vom ganzen Schlüssel abhängig, nicht von nur einem Teil eines Schlüssels. • Jede Tabelle enthält nur Daten eines Themengebiets. Sollte dies nicht der Fall sein, müssen die Daten wie in der ersten Normalform weiter aufgeteilt werden. Allgemeine Technologien II - SS 2009
Verletzung der 2. NF Allgemeine Technologien II - SS 2009
3. Normalform • Erreicht, wenn • Die 2. Normalform erfüllt ist • und jedes Nichtschlüsselattribut von keinem Schlüsselkandidaten transitiv (kettenartig) abhängt. • Eine transitive Abhängigkeit besteht immer dann, wenn ein Attribut über ein anderes Attribut (also nicht direkt) vom Primärschlüssel abhängig ist. Allgemeine Technologien II - SS 2009
Warum Normalisierung? • Vermeidung von: • Redundanzen • Anomalien (Änderungs-, Lösch-, Einfüge-Anomalie) • Inkonsistenzen (= Nicht-Übereinstimmung von Datenwerten) • Ziele • Vereinfachung des Aufbaus von Tabellen • Einfache Datenpflege • Stabile und flexible Strukturen Allgemeine Technologien II - SS 2009
Zusammenfassung • alle (impliziert: atomaren) Werte beziehen sich auf den Schlüssel - 1. NF • bei zusammengesetzten Schlüsseln beziehen sie sich jeweils auf den gesamten Schlüssel - 2. NF • die Werte hängen nur vom Schlüssel ab, und nicht von weiteren Werten - 3. NF Merksatz: Der Schlüssel, der ganze Schlüssel und nichts als der Schlüssel - so wahr mir Codd helfe. Allgemeine Technologien II - SS 2009
Schwächen im Datenmodell aufgrund fehlender Normalisierung können einen höheren Aufwand bei einer späteren Weiterentwicklung/ Fehlerbehebung bedeuten. • Befindet sich ein Relationenschema nicht in einer der Normalformen, so nennt man diese Form auch Non-First-Normal-Form (NF²) oder Unnormalisierte Form (UNF). Allgemeine Technologien II - SS 2009
Ende Allgemeine Technologien II - SS 2009