21
Datenbankdesign und Normalisierung Allgemeine Technologien II - SS 2009

Datenbankdesign und Normalisierung Allgemeine Technologien II - SS 2009

Embed Size (px)

Citation preview

Page 1: Datenbankdesign und Normalisierung Allgemeine Technologien II - SS 2009

Datenbankdesign und Normalisierung

Allgemeine Technologien II - SS 2009

Page 2: 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

Page 3: Datenbankdesign und Normalisierung Allgemeine Technologien II - SS 2009

Allgemeine Technologien II - SS 2009

Page 4: Datenbankdesign und Normalisierung Allgemeine Technologien II - SS 2009

Grundsätze bei der Datenmodellierung

Allgemeine Technologien II - SS 2009

Page 5: Datenbankdesign und Normalisierung 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

Page 6: Datenbankdesign und Normalisierung 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

Page 7: Datenbankdesign und Normalisierung 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

Page 8: Datenbankdesign und Normalisierung Allgemeine Technologien II - SS 2009

Verletzung der 1.Normalform

Allgemeine Technologien II - SS 2009

Page 9: Datenbankdesign und Normalisierung Allgemeine Technologien II - SS 2009

Lösung:

Allgemeine Technologien II - SS 2009

Page 10: Datenbankdesign und Normalisierung 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

Page 11: Datenbankdesign und Normalisierung Allgemeine Technologien II - SS 2009

Allgemeine Technologien II - SS 2009

1.NF ???

Page 12: Datenbankdesign und Normalisierung 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

Page 13: Datenbankdesign und Normalisierung Allgemeine Technologien II - SS 2009

Verletzung der 2. NF

Allgemeine Technologien II - SS 2009

Page 14: Datenbankdesign und Normalisierung Allgemeine Technologien II - SS 2009

Allgemeine Technologien II - SS 2009

Page 15: Datenbankdesign und Normalisierung 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

Page 16: Datenbankdesign und Normalisierung Allgemeine Technologien II - SS 2009

Allgemeine Technologien II - SS 2009

Page 17: Datenbankdesign und Normalisierung Allgemeine Technologien II - SS 2009

Allgemeine Technologien II - SS 2009

Page 18: Datenbankdesign und Normalisierung 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

Page 19: Datenbankdesign und Normalisierung 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

Page 20: Datenbankdesign und Normalisierung 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

Page 21: Datenbankdesign und Normalisierung Allgemeine Technologien II - SS 2009

Ende

Allgemeine Technologien II - SS 2009