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
Allgemeine Technologien II - SS 2009
Grundsätze bei der Datenmodellierung
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
Allgemeine Technologien II - SS 2009
1.NF ???
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
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
Allgemeine Technologien II - SS 2009
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. NFMerksatz: 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