HINWEIS
Hüten Sie sich vor einem »Normalisierungswahn«, der zu einer unüberschaubaren Vielzahl kleiner Tabellen
(und der dafür erforderlichen künstlichen Schlüssel!) führen kann.
Einen kleinen Vorgeschmack auf derlei Auswüchse vermittelt die Rechnungsdaten-Tabelle, die quasi nur
noch aus Schlüsselverweisen (Fremdschlüssel) besteht und ansonsten keine echten Felder mehr enthält.
Auch die Performance des Datenbanksystems (Antwortverhalten) leidet unter einer Übernormalisierung,
die Fehleranfälligkeit wächst als Folge der Komplexität.
Angestrebtes Ziel des Normalisierungsprozesses sollte stets ein optimaler Kompromiss zwischen System-
leistung und Redundanzfreiheit sein. Leider liefern auch die zu vielen Datenbanksystemen mitgelieferten
»Assistenten« in der Regel eine übernormalisierte Tabellenaufteilung. Verzichten Sie deshalb besser auf der-
lei »Bärendienste« und verlassen Sie sich lieber auf Ihren gesunden Menschenverstand!
Normalisierung nach dem Prinzip »Faule Sekretärin«
Wem das schrittweise Normalisieren der Tabellen einer Datenbank gar zu lästig ist, für den mag auch
folgende rein pragmatische Vorgehensweise zu brauchbaren Resultaten führen: Versetzen Sie sich in die
Rolle einer faulen, aber pfiffigen Sekretärin, die das Rechnungswesen der Firma mit einem System von
Karteikästen verwalten soll. Sehr schnell wird die Sekretärin auf den Dreh kommen, dass es wenig Sinn und
viel Arbeit macht, wenn sie nur einen einzigen Karteikasten (für jede Rechnung eine Karte) verwendet. Das
Ändern der Anschrift eines einzigen Kunden oder die Preisänderung eines Artikels würde sie mit wachsen-
dem Datenbestand zu immer mehr ungewollten Überstunden zwingen. Nach und nach wird sie zwangs-
läufig zunächst die Kunden und dann die Artikel in eigene Karteikästen auslagern und würde so – bar jedes
Verständnisses der theoretischen Hintergründe – bis zur zweiten oder gar dritten Normalform vorstoßen!
Kunden
N
r
Name
V
ornam
e
geb.
1
2
3
4
5
6
7
8
9
10
Mülle
r
Maie
r
Hein
z
12.3.47
Personal
N
r
1
2
3
4
5
6
7
8
9
10
11
12
13
1
4
Nam
e
Mülle
r
Maie
r
Schul
z
Kohl
Schmit
t
Krause
Lindemann
Böhm
Lehmann
Wetzel
Becke
r
Hofmann
König
Winkle
r
V
ornam
e
Hein
z
V
iol
a
Günte
r
Astrid
Ines
Thomas
Edith
Ruth
Steffi
Ines
Karin
Kristin
a
Jürgen
Karin
Datenban
k
Datensatz
Tabelle
Personal
Kunden
Müller, Heinz
Relationale Datenbank
Abbildung 8.4 Analogie für relationale Datenbank
Beziehungen zwischen den Tabellen
Dass Tabellen miteinander in Beziehung stehennnen, ist für den Access-Kundigen nichts Neues (siehe
auch vorhergehender Abschnitt). Im Folgenden erfahren Sie, welche Arten von Relationen unterschieden
werden.
421
Etwas (Datenbank-)Theorie
Kapitel 8: SQL in Theorie und Praxis
1:1-Beziehung
In einer 1:1-Beziehung existiert für jeden Datensatz in Tabelle 1 genau ein Datensatz in Tabelle 2. Theore-
tisch könnte diese Beziehung aufgelöst werden, denn die Daten aus Tabelle 2 lassen sich auch in Tabelle 1
speichern. Es gibt allerdings Fälle, in denen 1:1-Beziehungen sinnvoll sind:
Sicherheitsaspekte (die vertraulichen Daten werden in einer separaten Tabelle gespeichert, auf die nicht
jeder Zugriff hat)
Performance (selten gebrauchte Daten werden in eine zweite Tabelle ausgelagert, die relevanten Daten
befinden sich alle in nahe liegenden Sektoren)
Einschränkungen (das Datenbanksystem stellt nicht genügend Tabellenspalten zur Verfügung, um alle
Attribute in einer Tabelle zu speichern).
Damit nicht jeder Mitarbeiter, der auf Tabelle 1 zugreifen kann, erfährt, wie viel sein Kollege verdient bzw.
wie oft er krank war, werden diese Informationen in einer zweiten Tabelle gespeichert, auf die nur einige
auserwählte Mitarbeiter zugreifen können.
Tabelle 1
Nr.
Name
Vorname
234
Naumann
Karin
235
Wetzel
Kurt
236
Hans
May
237
Otto
Werner
238
Specht
Dieter
239
Lehmann
Isolde
240
Mayer
Hans
Tabelle 2
Nr.
Gehalt
Krankentage
5367,30 5
4341,10 7
2500,20 47
7000,00 3
1212,50 1
3465,10 0
4132,32 10
234
235
236
237
238
239
240
1:1
Abbildung 8.5 1:1-Beziehung
1:n-Beziehung
1:n-Beziehungen sind dadurch gekennzeichnet, dass zu einem Datensatz in Tabelle 1 beliebig viele Daten-
sätze (0 ... n) in Tabelle 2 existieren können.
Abbildung 8.6 1:n-Beziehung
Umgekehrt gilt: Zu jedem Datensatz in Tabelle 2 gibt es genau einen Datensatz in Tabelle 1.
Wie Sie der folgenden Abbildung entnehmen können, arbeiten im Raum A20 drei Personen, in Raum A64
zwei Personen usw. Da diese Beziehung auch in SQL-Abfragen genutzt werden kann, ist es z.B. kein
Problem, einen Raumbelegungsplan zu erstellen.
422

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.