Nehmen wir an, ein Unternehmen hat eine Tabelle mit Adressen aller Personen, mit denen es zu tun hat. Eine Person kann Kunde, Mitarbeiter oder Lieferant sein - oder mehreres davon.
Beziehungen | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Hier liegen drei 1:1-Beziehungen vor.
Für 1:1-Beziehungen müssen die zu verknüpfenden Felder auf
beiden Seiten einen eindeutigen Schlüssel haben. Es
muss also in allen drei Tabellen, in denen es ein Feld lngPerson
gibt,
für dieses Feld jeweils zuerst ein Index ohne Duplikate angelegt werden. Erstellt
man danach die Beziehungen, wird im Beziehungsfenster als Typ „1:1“ angezeigt.
Hier sieht man auch, warum man Personendaten separat speichern sollte: Das Gehalt der Kollegen oder die Sonderkonditionen bestimmter Lieferanten sollten vielleicht nicht allen Mitarbeiter zugänglich sein. Wären umgekehrt die Adressen nicht separat, sondern jeweils in den drei anderen Tabellen gespeichert, hätte man mehrfach gespeicherte (redundante) Daten und die Gefahr unterschiedlicher (inkonsistenter) Angaben. Man könnte auch nur schwer prüfen, ob z. B. ein Mitarbeiter auch Lieferant ist.