Access 2003 Basis

4.1.25 Beziehungen zwischen Tabellen

Beziehungen sind notwendig, um die Daten eines Datensatzes, die in relationalen Datenbankkonzepten in verschiedenen Tabellen gespeichert sind, wieder zusammenhängend darstellen zu können - sei es in Abfragen, Formularen oder Berichten.

Beziehungen zwischen Tabellen haben Sie bereits im Kapitel 2 Datenbanken entwerfen kennen gelernt. Dort ging es um die Konstruktion eines Datenbankschemas zu einer Aufgabenstellung. Mit dem Einrichten der Tabellen ist so ein Datenbankschema noch nicht korrekt in die eigentliche Datenbank umgesetzt. Es fehlen noch die Beziehungen zwischen den Tabellen. Sobald Access erkennt, wie die Daten zusammenhängen, wird dies automatisch in Formularen, Abfragen und Berichten berücksichtigt.

Bevor Sie eine Beziehung zwischen Tabellen herstellen, müssen Sie entscheiden, ob diese Beziehung mit referentieller Integrität hergestellt werden soll. Die referentielle Integrität legt fest, dass es Datensätze

in der abhängigen Tabelle, der sog. Detailtabelle, ohne passenden Datensatz in der Mastertabelle nicht geben kann. Insgesamt sind die folgenden Typen zu unterscheiden:

  1. Einfache Beziehungen

  2. Beziehungen mit referentieller Integrität

  3. Referentielle Integrität mit Aktualisierungsweitergabe an den Detaildatensatz

  4. Referentielle Integrität mit Löschweitergabe an den Detaildatensatz.

In Beziehungen mit referentieller Integrität stellt Access sicher, dass zu jedem Datensatz in der Detailtabelle ein passender Datensatz in der Mastertabelle vorhanden ist. Auf unsere Beispiel-Tabellen Mitarbeiter und Hefte bezogen bedeutet dies:

  1. Jeder in die Tabelle Hefte eingefügte Datensatz muss einen gültigen Mitarbeiter-Code besitzen.

  2. Es darf kein Mitarbeiter gelöscht werden, zu dem noch Hefte in der Datenbank vorliegen.

  3. Sobald zu einem Mitarbeiter Hefte angelegt wurden, kann sein Mitarbeiter-Code in der Mastertabelle nicht geändert werden.

Da die eben genannten Einschränkungen zwar ausgesprochen sinnvoll sind, was die Korrektheit der Daten in einer Datenbank betrifft, aber andererseits die Arbeit etwas unkomfortabel gestalten, gibt es zwei sinnvolle Ergänzungen zur referentiellen Integrität.

In Beziehungen, für die eine referentielle Integrität mit Aktualisierungsweitergabe eingerichtet wurde, reicht das Datenbanksystem Änderungen am Primärschlüssel der Mastertabelle an die entsprechenden Verknüpfungsfelder der Detailtabelle weiter. Ändert sich in unserem Beispiel also einmal der Mitarbeiter-Code in einem Datensatz der Tabelle Mitarbeiter, so wird diese Änderung in jedem Datensatz der Tabelle Hefte nachvollzogen, der eben diesen Mitarbeiter-Code besitzt. So bleibt der Zusammenhang der Daten erhalten. Dies geschieht völlig automatisch und transparent für den Benutzer.

Auch für den Fall des Löschens auf der 1-Seite in verknüpften Tabellen gibt es die Möglichkeit einer Weitergabe. Wird in Beziehungen, die mit einer Löschweitergabe eingerichtet wurden, ein Datensatz aus der Mastertabelle entfernt, so löscht Access die dazu gehörenden Detaildatensätze ebenfalls. Das Löschen eines Mitarbeiterdatensatzes würde in unserem Beispiel also das Löschen der verknüpften Heftdaten nach sich ziehen.

Vorsicht

Eine Löschweitergabe kann fatale Folgen haben. Beispielsweise dann, wenn beim Löschen eines Kundendatensatzes unbemerkt auch noch offene Rechnungen gelöscht werden.

Im Folgenden werden zunächst die Tabellen unserer Datenbank Stadtlupe miteinander verknüpft. Danach werden die restlichen Tabellen angelegt und in Beziehung gesetzt.

Kommentare (0)

Ihr Kommentar

Name