Beziehungen zwischen Tabellen

 

1. Beziehungen

 

Sehen Sie sich noch einmal das folgenden Modell an:

 

 

Die Entitätstypen Kunde, Artikel und Rechnung sind über bestellt und bekommt miteinander verknüpft.

In Access haben wir die Verknüpfungen bisher sehr einfach realisiert - innerhalb der Abfragen.

Das ist jedoch nicht immer die eleganteste Methode.

 

Stellen Sie sich nur einmal vor, dass Sie bei jeder Abfrage immer wieder die gleichen Verknüpfungslinien ziehen müssen. Das ist nun wirklich zu aufwendig.

Viel besser wäre es doch, wenn Sie die Tabellen nur ein einziges Mal verbinden müssten - und wenn Sie dann eine Abfrage erstellen, werden die Verknüpfungslinien automatisch gezogen.

Das Schöne an dieser Idee ist, sie ist ganz einfach realisierbar. Sie brauchen dafür nur drei Voraussetzungen erfüllen:

Gehen Sie nun in folgenden Schritten vor:

Nun sind die notwendigen Voraussetzungen erfüllt und die Tabellen Kunde und Rechnung können miteinander verbunden werden.

 

 

 

 

 

 

 

 

 

Um zu sehen, was Sie mit dem Beziehungsfenster erreicht haben, erstellen Sie doch einmal eine Abfrage mit den Tabellen Kunde und Rechnung - und Sie werden staunen.

 

 

 

2. Referentielle Integrität

 

Wenn Sie sich fragen, was das mit der referentiellen Integrität auf sich hat, ist das ganz kurz zu beantworten: sie dient der Sicherheit Ihrer Datenbank und der Vereinfachung von Aktionsabfragen.

Beispiel: Wenn Sie bei der Rechnungstabelle einen Namen eingeben, z.B. Muddi, können Sie Muddi in der Kundentabelle nicht mehr löschen.

Des weiteren ermöglicht der Klick auf die referentielle Integrität auch die Anzeige der 1 und dem Unendlichkeitszeichen auf den Beziehungslinien - und das sind Kardinalitäten.

 

 

3. Kardinalitäten

 

Die Symbole, die Sie in dem Beziehungsfenster sehen, haben eine Bedeutung. Sehen Sie sich doch die 1 an, die beim Namen der Kundentabelle steht und das Unendlichkeitszeichen beim Namen in der Rechnungstabelle.

Da wir den Namen in der Kundentabelle als Schlüssel definiert haben, liegt die Bedeutung der 1 auf der Hand, nämlich, dass jeder Name nur ein Mal vorkommen kann.

In der Rechnungstabelle kann jeder Name aber beliebig oft vorkommen - wie das Symbol andeutet, unendlich oft. Das entspricht voll und ganz der Realität, da jeder Kunde so oft etwas bestellen kann, wie er möchte und dafür dann auch mehrere Rechnungen erhält.

Die Beziehung bedeutet daher: ein Kunde kann mehrere Rechnungen erhalten.

Obwohl diese Beziehung so einfach ist, sollten wir sie noch einmal genauer ansehen. Man kann sie nämlich von rechts nach links und auch von links nach rechts lesen.

 

 

3.1. Kardinalität von links nach rechts

 

Von links nach rechts gelesen bedeutet das tatsächlich: ein Kunde kann mehrere Rechnungen erhalten. Wenn er viel bestellt, wird er auch viele Rechnungen bekommen. Es kann aber auch der Fall eintreten, dass der Kunde überhaupt nichts bestellt, obwohl er in der Datenbank erfasst ist. In diesem Fall erhält er natürlich auch keine Rechnung.

Das bedeutet: ein Kunde erhält entweder gar keine Rechnung [0] oder beliebig viele [*]. Der Minimalwert ist also Null [0] und der Maximalwert ist beliebig hoch [*].

Man schreibt daher [0,*] auf den rechten Beziehungsstrich:

 

 

 

Um herauszufinden was auf den linken Beziehungsstrich geschrieben wird, müssen Sie die Beziehung einfach von rechts nach links deuten.

 

 

3.2. Kardinalität von rechts nach links 

 

Um von rechts nach links zu lesen müssen Sie etwas umdenken, da die Sichtweise nun genau umgekehrt ist.

Stellen Sie sich vor, sie bekommen von der Oma ein Handy geschenkt. Dann ist das für Sie recht schön, nur die Oma hat nichts davon. Die Oma hat nämlich etwas abgegeben bzw. ausgehändigt.

Versuchen Sie nun die Beziehung von rechts nach links zu lesen - und es gelingt ihnen nur, wenn Sie das Beziehungswort bekommt in das Gegenteil umwandeln, z.B. in wird ausgehändigt.

Sie werden staunen, nun ändern sich auch die Kardinalitäten. Eine Rechnung wird nämlich an genau einen Kunden ausgehändigt. Das heißt eine Rechnung geht an genau einen Kunden und nicht an keinen oder beliebig viele. Der Minimalwert ist also Eins [1] und der Maximalwert ist auch [1].

Man schreibt daher [1,1] auf den linken Beziehungsstrich:

 

 

 

 

3.3. Vollständige Kardinalität

 

Die vollständige Kardinalität ergibt sich aus der Berücksichtigung beider Lesarten, der von links nach rechts und der von rechst nach links. Das Modell würde daher so aussehen:

 

 

 

4. Assoziationstypen

 

Wenn die Kardinalitäten feststehen, können daraus sehr einfach die Assoziationstypen abgeleitet werden. In der Regel werden bei Datenbankmodellen die Assoziationstypen angegeben.

 

 
Kardinalität Assoziationstyp Bedeutung

 

[0,1]

c

keine oder genau eine

 

[0,*] n (auch: mc) keine oder beliebig viele

 

[1,1]

1

genau eine

 

[1,*] m eine oder beliebig viele

 

Da in unserem Beispiel die Kardinalitäten [1,1] und [0,1] auftraten, kommt der Assoziationstyp 1:n zustande:

 

 

Die Assoziationen lassen natürlich mehrere Varianten zu. Es gibt folgende Beziehungen:

 

1 : n

z.B. die Beziehung zwischen Kunde und Rechnung

 

 

1 : 1

z.B. (siehe Aufgabe)

 

 

1 : c

z.B. (siehe Aufgabe)

 

 

n : m

z.B. (siehe Aufgabe)

 

 

Aufgabe: