Einführung Datenbanken: Normalisierung

Werbung
D:\Datenbanken\2Entwicklung\4Normalisierung\Einführung\vhs.doc
Einführung Datenbanken: Normalisierung
Für die Kursverwaltung einer VHS hat der Datenbank-Programmierer ein ER-Modell entworfen:
Entitätstyp
Entitäten
Attribute
Attributsausprägungen
Kurse
Word für Anfänger
Englisch 3
Quantenphysik
KursNr.
Kategorie
Zeit
Raum
023
EDV
Di 17-19
V23
147
Sprachen
Do 18-20
F17
251
Technik
Mo 17-21
BkT112
Teilnehmer
Anja Lukas
Katja Müller
Sven Schuster
TeilnNr.
Vorname
Nachname
Anschrift
Alter
4951
Anja
Lukas
Essen
23
6381
Katja
Müller
Bottrop
35
8042
Sven
Schuster
Gelsenkirchen
42
Dozenten
Paul Bilk
Carl Gärtner
Petra Klausen
DozentenNr.
Vorname
Nachname
Anschrift
Fächer
D17
Paul
Bilk
Bottrop
EDV
D51
Carl
Gärtner
Essen
Englisch
D83
Petra
Klausen
Bochum
Physik
Räume
Raum V23
Raum F17
Raum BkT112
RaumNr
Gebäude
Anzahl Plätze
TechnikKürzel
Technik
V23
VHS
12
T
Tafel
F17
FH
250
B
Beamer
BkT112
Berufskolleg Technik
70
V, OHP
Video, Overheadprojektor
D:\Datenbanken\2Entwicklung\4Normalisierung\Einführung\vhs.doc
Wendet man die Regeln zur Transformation eines ER-Modells in Tabellen an, erhält man folgendes
Ergebnis:
Teilnehmer(TeilnNr, Vorname, Nachname, Anschrift, Alter)
Kurs(KursNr, Kategorie, Wochentag, Zeit, DozentNr, RaumNr)
Dozent(DozentenNr, Vorname, Nachname, Anschrift, Fächer)
Raum(RaumNr, Gebäude, Adresse, AnzahlPlätze, TechnikKürzel, Technik)
Buchung(HörerNr, KursNr, Datum, GebührBezahlt)
Wie eine Tabelle konkret aussieht, zeigt das Beispiel der Raum-Tabelle:
Raum-Nr.
Gebäudebezeichnung
Adresse
Anzahl
Plätze
Technik- Technik
kürzel
V23
VHS-Gebäude Raum 23
12
FH17
Fachhochschule Hörsaal
17
Berufskolleg für Technik
Raum 112
Ebertstr. 5
45881 Gelsenkirchen
Neidenburger Str. 3
45897 Gelsenkirchen
Overwegstr. 4
45881 Gelsenkirchen
T
OHP
B
Tafel
Overheadprojektor
Beamer
T
W
OHP
V
Tafel
Whiteboard
Overheadprojektor
Video mit TV
BKT112
250
70
Diese Tabelle ist für die Übernahme in eine Datenbank leider noch nicht geeignet:
Um zu überprüfen, ob die Tabellen direkt in eine Datenbank übernommen werden können, bedient man sich
der Methode der Normalisierung, die folgende Aufgaben hat:
•
•
•
Beseitigung mehrfach vorkommender (redundanter) und damit überflüssiger Daten, ohne damit die
Aussagekraft der Datenbank zu schwächen.
Vereinfachung der Datenpflege, um die damit einhergehenden Probleme zu umgehen
(Beseitigung sog. Anomalien),
Entwurf eindeutiger Tabellen, die keine versteckten Tabellen als Untertabellen enthalten (Beseitigung
sog. transitiver Abhängigkeiten).
Das Resultat der Normalisierung sind Tabellen, die direkt in die Datenbank übertragen werden können. Die
Zerlegung der Ausgangstabellen erfolgt nach festgelegten Regeln und stufenweise. Mit jedem Schritt
werden Redundanzen und Anomalien beseitigt. Von den Normalisierungsschritten, sind die drei ersten die
wichtigsten. Die Überführung der Ausgangstabelle in die sog. Dritte Normalform (kurz 3NF) soll am Beispiel
demonstriert werden.
D:\Datenbanken\2Entwicklung\4Normalisierung\Einführung\vhs.doc
1. Normalform
Aufgabe des 1. Normalisierungsschrittes (1. Normalform; kurz 1NF) ist es, die Anzahl der Einträge in einer
Datenspalte (Attribut) auf einen einzigen Eintrag zu reduzieren.
Die 1. Normalform wird in 3 Teilschritten erreicht
Schritt 1:
Die Anzahl der Datenspalten (Attribute) wird erhöht, damit in jeder Datenspalte nur noch eine Information
enthalten ist.
Beispiel:
Spalte „Adresse“ aufteilen in Strasse / Haus-Nummer / PLZ / Ort.
Allerdings wird man Strasse und Haus-Nr. zusammen belassen, da die Trennung in der
Datenbankpraxis nur sinnvoll ist, wenn dadurch ein Vorteil in der Datenverwaltung, z. B. bei
Abfragen, erzielt wird.
Schritt 2:
Einrichtung von Wiederholungszeilen für mehrfache Einträge, die sich auf ein nicht mehr teilbares Attribut
beziehen.
Für jeden Eintrag des Attributs „Technik“ in einem Datensatz wird jeweils eine neue Zeile verwendet.
Raum-Nr. Gebäude
Strasse
PLZ
Ort
Anzahl Technik- Technik
Plätze kürzel
V23
Ebertstr. 5
45881
GE
12
T
Tafel
Ebertstr. 5
45881
GE
12
OHP
Neidenburger Str. 3
45897
GE
250
B
Overheadprojektor
Beamer
Overwegstr. 4
45881
GE
70
T
Tafel
Overwegstr. 4
45881
GE
70
W
Whiteboard
Overwegstr. 4
45881
GE
70
OHP
Overwegstr. 4
45881
GE
70
V
Overheadprojektor
Video mit TV
V23
FH17
BKT112
BKT112
BKT112
BKT112
VHS-Gebäude Raum
23
VHS-Gebäude Raum
23
Fachhochschule
Hörsaal 17
Berufskolleg für
Technik Raum 112
Berufskolleg für
Technik Raum 112
Berufskolleg für
Technik Raum 112
Berufskolleg für
Technik Raum 112
Schritt 3:
Anschließend wird ein Primärschlüssel eingeführt, mit dem jeder Datensatz eindeutig identifiziert werden
kann. Der PS besteht entweder
•
•
aus einer oder mehreren bereits vorhandenen Datenspalten, z. B. Identifikationsnummern,
oder aus neuen Datenspalten, die vom Administrator einzurichten sind, z. B. laufende Zähler-Nummern.
Weil für die Technik die neuen Zeilen eingerichtet wurden, empfiehlt es sich, den PS aus den Spalten RaumNr. und Technik-Kürzel zusammen zu stellen. Der PS ist an der Unterstreichung zu erkennen.
Raum-Nr.
Gebäude
Strasse
PLZ
Ort
AnzahlPlätze
TechnikKürzel
Technik
D:\Datenbanken\2Entwicklung\4Normalisierung\Einführung\vhs.doc
2. Normalform
Aufgabe des 2. Normalisierungsschrittes (2. Normalform; kurz 2NF) ist es, zu prüfen, ob sämtliche
Datenspalten (die nicht zum Primärschlüssel zählen) ausschließlich vom Primärschlüssel abhängig sind. Ist
eine Datenspalte nicht vom Primärschlüssel oder nur von einem Teil des Primärschlüssels abhängig, ist für
diese Datenspalte samt ihrer Schlüsselspalte eine neue Tabelle einzurichten.
In diesem Beispiel liegen folgende Abhängigkeiten vor:
• Gebäude
Raum-Nr.
• Strasse
Raum-Nr.
• PLZ
Raum-Nr.
• Ort
Raum-Nr.
• Anzahl Plätze
Raum-Nr.
• Technik
Technik-Kürzel
Daraus ergeben sich zunächst folgende Tabellen: (Evtl. auftretende Doppelzeilen sind zu löschen)
Tabelle Raum
Raum-Nr. Gebäude
BKT112
Berufskolleg für Technik Raum 112
FH17
Fachhochschule Hörsaal 17
V23
VHS-Gebäude Raum 23
Tabelle Technik
Technik-Kürzel
B
OHP
T
V
W
Strasse
Overwegstr. 4
Neidenburger Str. 3
Ebertstr. 5
PLZ
45881
45897
45881
Ort
GE
GE
GE
Anzahl Plätze
70
250
12
Technik
Beamer
Overheadprojektor
Tafel
Video mit TV
Whiteboard
Vom Primärschlüssel ist keine Spalte abhängig, so dass der Primärschlüssel als einziges in der Tabelle
verbleibt. Sie gibt die Zuordnung von Raum zu Technik wieder. Diese ist die Tabelle für die neue N:MRelation „ausgestattet mit“. Dadurch ist es beispielsweise möglich festzustellen, welcher Raum über einen
Beamer zum Anschluss eines Notebooks verfügt.
Tabelle: Ausstattung
Raum-Nr. Technik-Kürzel
V23
T
V23
OHP
FH17
B
BKT112
T
BKT112
W
BKT112
OHP
BKT112
V
Wenn man diese
Tabellen als ERModell zeichnet,
ergibt sich folgendes
Gesamtbild:
D:\Datenbanken\2Entwicklung\4Normalisierung\Einführung\vhs.doc
3. Normalform
Aufgabe des 3. Normalisierungsschrittes (3. Normalform; kurz 3NF) ist es Daten zu eliminieren, die nicht von
einem Schlüssel abhängig sind. Das stellt man fest, indem man überprüft, ob Attribute aus den Tabellen der
2NF, die nicht zum Primärschlüssel zählen, untereinander abhängig sind. Diese sog. mittelbare (transitive)
Abhängigkeit würde dazu führen, dass in einer Tabelle eine Untertabelle enthalten wäre. Attribute mit
transitiver Abhängigkeit werden in eine eigene Tabelle ausgelagert.
In der Tabelle Raum gibt es einen Zusammenhang zwischen PLZ und Ort. Die Ortsangabe ist abhängig von
der PLZ. Erkennbar ist dieser Zusammenhang an den Wiederholungszeilen in diesen beiden Spalten.
PLZ
Ort
45881
45897
45881
GE
GE
GE
Die Ortsangabe könnte man in eine eigene Tabelle ausgelagern. Das unabhängige Attribut PLZ ware der
Primärschlüssel der neuen Tabelle.
Tabelle Raum
Raum-Nr. Gebäude
BKT112
FH17
V23
Berufskolleg für Technik Raum 112
Fachhochschule Hörsaal 17
VHS-Gebäude Raum 23
Strasse
PLZ
Anzahl Plätze
Overwegstr. 4
Neidenburger Str. 3
Ebertstr. 5
45881
45897
45881
70
250
12
Tabelle Ort
PLZ
Ort
45881
Gelsenkirchen
45897
Gelsenkirchen
Die Verbindung von Tabelle Raum zu Tabelle Ort erfolgt über den Primärschlüssel PLZ, der in der
Raumtabelle als Fremdschlüssel verbleibt.
Hinweis:
In der Praxis wird man allerdings auf diese Aufteilung verzichten, weil die PLZ nicht eindeutig einen Ort
identifiziert, denn es gibt verschiedene Orte, die dieselbe PLZ haben.
Herunterladen