Erste Seite Zurück Weiter Letzte Seite Übersicht Grafik

Arten v. Beziehungen


Notizen:

Definition 1:n Beziehung: Jedem Datensatz in einer Kopftabelle (1-Tabelle) entsprechen 0 oder mehr Datensätze in der Detailtabelle (N-Tabelle).
Jeder Datensatz der Detailtabelle ist dabei entweder einem bestimmten Datensatz der Kopftabelle oder dem konstanten Wert NULL zugeordnet (er „hängt in der Luft“).
1:n-Beziehungen werden dargestellt, indem in der n-Tabelle ein Schlüssel der Kopftabelle mit allen Feldern als sog. Fremdschlüssel aufgenommen wird.
Definition 1:1 Beziehung: Jedem Datensatz in einer Kopftabelle entsprechen 0 oder ein Datensätze in der Detailtabelle.
Jeder Datensatz der Detailtabelle ist dabei entweder einem bestimmten Datensatz der Kopftabelle oder dem konstanten Wert NULL zugeordnet (er „hängt in der Luft“).
1:1-Beziehungen werden dargestellt, indem in der Detailtabelle ein Schlüssel der Kopftabelle mit allen Feldern als Fremdschlüssel aufgenommen wird und dort selbst eindeutig wird, also ein Schlüsselkandidat ist.
Achtung: im Rahmen der Referenziellen Integrität sind auch 1:1 Beziehungen gerichtet! Auch bei einer 1:1 Beziehung gibt es eine Kopftabelle, in die der Datensatz zuerst eingetragen wird (werden muss!). In der Detailtabelle kann ein Datensatz erst eingetragen werden, wenn der passende in der Kopftabelle bereits besteht. Außerdem können Kopfdatensätze ohne zugehörige Detaildatensätze existieren und Detaildatensätze „in der Luft hängen“ (d.h. dem Wert NULL zugeordnet sein). Auch wenn mehrere solche Detaildatensätze existieren sollten, ist deswegen die 1:1-Beziehung zwischen den beiden Tabellen nicht verletzt!
Um zu entscheiden, ob zwischen zwei Tabellen eine 1:1-, 1:n oder m:n-Beziehung besteht genügt es übrigens nicht, Beziehungen nur aus Sicht einer Entity zu betrachten:
Eine Abteilung hat mehrere Mitarbeiter: Abteilungen : Mitarbeiter 1:n UND Ein Mitarbeiter leitet höchstens eine Abteilung: Mitarbeiter : Abteilung 1:1 ==> 1:n
Ein Mitarbeiter arbeitet an mehreren Projekten: Mitarbeiter : Projekte 1:n Ein Projekt wird von mehreren Mitarbeitern abgewickelt: Projekte : Mitarbeiter 1:n ==> m:n
Ein Mitarbeiter hat höchstens ein Dienstauto: Mitarbeiter : KFZ 1:1 Ein Auto ist höchstens einem Mitarbeiter zugeordnet: KFZ : Mitarbeiter 1:1 ==> 1:1
Definition: m:n Beziehung Jedem Datensatz in einer Tabelle A entsprechen 0 oder mehr Datensätze in einer Tabelle B und umgekehrt (d.h. jedem Datensatz in der Tabelle B entsprechen 0 oder mehr Datensätze in der Tabelle A)
In einer Relationalen Datenbank erfordert die Darstellung einer m:n Beziehung eine Hilfstabelle, die eine Verbindung zwischen den beiden Tabellen herstellt. Die m:n Beziehung wird somit in 2 Beziehungen 1:m und 1:n aufgelöst. Die “neue” Tabelle bekommt automatisch die Schlüssel aus den beiden anderen Tabelle als Fremdschlüssel „vererbt“. Diese Fremdschlüssel können selbst Schlüssel für die neue Tabelle sein. Es ist aber auch möglich, dass die Kombination der Fremdschlüssel selbst zu schwach ist, um den Schlüssel zu bilden. In diesem Fall müssen weitere Felder zur Kombination dazu genommen werden, oder ein eigener, künstlicher Schlüssel geschaffen werden. Natürlich kann die neu entstandene Tabelle auch „eigene“ Felder erhalten.