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:
jede Tabelle braucht ein Attribut, das als Schlüssel dient (bei Kunde z.B. der Name, bei Rechnung z.B. der Artikel)
um die Verknüpfung zweier Tabellen zu ermöglichen, muss in beiden Tabellen ein gleiches Attribut stehen. (bei Rechnung wird einfach das Attribut Name hinzugefügt)
die verknüpften Attribute müssen das gleiche Format aufweisen, d.h. beide müssen Text, Zahl, Währung oder Datum/Uhrzeit sein.
Gehen Sie nun in folgenden Schritten vor:
Öffnen der Datenbank Frauke B.
Öffnen Sie die Tabelle Kunde in der Entwurfsansicht und überlegen Sie sich, welches Attribut der Schlüssel sein soll. Da sich das Attribut Name empfiehlt, klicken Sie auf Name und dann auf Bearbeiten / Primärschlüssel.
Schließen Sie die Tabelle Kunde und bestätigen Sie die Frage nach der Speicherung.
Da Sie mehrere Tabellen miteinander verknüpfen möchten, brauchen Sie auch gleichnamige Attribute, die miteinander verbunden werden können. Offnen Sie deshalb die Tabelle Rechnung in der Entwurfsansicht und ergänzen Sie den Feldnamen Name. In die Datenblattansicht brauchen Sie gar nicht zu wechseln, da die Spalte Name leer bleiben kann. Es muss nämlich nur dann ein Eintrag erfolgen, wenn ein Kunde tatsächlich etwas bestellt hat.
Schließen Sie die Tabelle Rechnung und bestätigen Sie die Frage nach der Speicherung.
Nun sind die notwendigen Voraussetzungen erfüllt und die Tabellen Kunde und Rechnung können miteinander verbunden werden.
Gehen Sie auf Extras / Beziehungen und es erscheint das folgende Fenster:

Wählen Sie die Tabellen aus, für die Sie eine Beziehung herstellen möchten. In unserem Fall zunächst Kunde und Rechnung.
Nachdem Sie auf Schließen geklickt haben, erscheint das folgende Fenster:

Wenn Sie nun versuchen, die gleichnamigen Attribute Name miteinander zu verbinden, springt ein neues Fenster auf den Bildschirm:

Klicken Sie in das Feld Mit referentieller Integrität und dann auf Erstellen. Nun ist die Verbindung gezogen:

Sie können jetzt getrost das Beziehungsfenster schließen. Bestätigen Sie Frage nach der Speicherung.
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: