Leitfaden für Tabellenbeziehungen

Gilt für
Access für Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Eins der Ziele eines guten Datenbankentwurfs besteht darin, Datenredundanz (doppelte Daten) zu vermeiden. Um dieses Ziel zu erreichen, teilen Sie Ihre Daten in viele themenbasierte Tabellen auf, so dass jedes Faktum nur einmal dargestellt wird. Sie bieten Access dann eine Möglichkeit, die geteilten Informationen wieder zusammenzuführen – dazu platzieren Sie gemeinsame Felder in Tabellen, die aufeinander bezogen sind. Um diesen Schritt ordnungsgemäß auszuführen, müssen Sie allerdings die Beziehungen zwischen Ihren Tabellen verstehen und diese Beziehungen anschließend in Ihrer Datenbank angeben.

Inhalt dieses Artikels

Einführung

Nachdem Sie für jedes Subjekt in der Datenbank eine Tabelle erstellt haben, müssen Sie Access eine Möglichkeit geben, diese Informationen bei Bedarf wieder zusammenzuführen. Hierzu fügen Sie gemeinsame Felder in verknüpfte Tabellen ein und definieren Beziehungen zwischen den Tabellen. Dann können Sie Abfragen, Formulare und Berichte erstellen, die Informationen aus verschiedenen Tabellen gleichzeitig anzeigen. Das hier gezeigte Formular enthält z. B. Informationen aus mehreren Tabellen:

Bestellformular mit entsprechenden Informationen aus fünf Tabellen gleichzeitig

1. Urheberrecht Informationen in dieser Form stammen aus der Tabelle "Kunden"...

2. Urheberrecht ... die Tabelle "Bestellungen"...

3. Urheberrecht ... die Tabelle "Produkte"...

4. Urheberrecht ... und die Tabelle "Bestelldetails".

Der Kundenname im Feld Rechnung an wird aus der Tabelle "Kunden" abgerufen, die Werte für "Bestell-Nr." und "Bestelldatum" aus der Tabelle "Bestellungen", der Produktname aus der Tabelle "Artikel" und die Werte für Einzelpreis und Stückzahl aus der Tabelle "Bestelldetails". Diese Tabellen sind auf verschiedene Art und Weise miteinander verknüpft, damit Informationen aus jeder Tabelle in das Formular übernommen werden können.

Im vorstehenden Beispiel müssen die Felder in den Tabellen koordiniert werden, damit sie Informationen zur gleichen Bestellung anzeigen. Diese Koordination wird mithilfe von Tabellenbeziehungen erreicht. Eine Tabellenbeziehung funktioniert durch Zuordnen von Daten in Schlüsselfeldern – oftmals ist das ein Feld, das in beiden Tabellen den gleichen Namen trägt. In den meisten Fällen bilden diese übereinstimmenden Felder den Primärschlüssel einer Tabelle, der einen eindeutigen Bezeichner für jeden Datensatz bereitstellt, und einen Fremdschlüssel in der anderen Tabelle. Beispielsweise können Mitarbeiter den Bestellungen, für die sie zuständig sind, zugeordnet werden, indem eine Tabellenbeziehung zwischen den Feldern "EmployeeID" (Mitarbeiter-ID) in der Tabelle "Employees" (Mitarbeiter) und der Tabelle "Orders" (Bestellungen) erstellt wird.

'Personal-Nr' dient als Primärschlüssel in der Tabelle 'Personal' und als Fremdschlüssel in der Tabelle 'Aufträge'.

1. Urheberrecht EmployeeID erscheint in beiden Tabellen — als Primärschlüssel ...

2. Urheberrecht ... und als Fremdschlüssel.

Seitenanfang

Typen von Tabellenbeziehungen

Es gibt drei Typen von Tabellenbeziehungen in Access.

  • 1:n-Beziehung
    Nehmen wir als Beispiel eine Datenbank zur Auftragsverfolgung, die eine Tabelle "Kunden" und eine Tabelle "Bestellungen" enthält. Ein Kunde kann eine beliebige Anzahl an Bestellungen aufgeben. Daraus folgt, dass für jeden in der Tabelle "Kunden" dargestellten Kunden viele Bestellungen in der Tabelle "Bestellungen" dargestellt werden können. Die Beziehung zwischen den Tabellen "Kunden" und "Bestellungen" ist eine 1:n-Beziehung.
    Zum Darstellen einer 1:n-Beziehung im Datenbankentwurf nehmen Sie den Primärschlüssel von der 1-Seite der Beziehung und fügen ihn als zusätzliches Feld oder Felder auf der n-Seite der Beziehung der Tabelle hinzu. In diesem Fall fügen Sie z. B. der Tabelle "Bestellungen" ein neues Feld hinzu, das Feld "ID" aus der Tabelle "Kunden", und bezeichnen dieses als "Kunden-ID". Access kann dann die Kunden-ID-Nummer in der Tabelle "Bestellungen" verwenden, um den richtigen Kunden für jede Bestellung zu finden.
  • m:n-Beziehung
    Sehen wir uns nun die Beziehung zwischen der Tabelle "Produkte" und der Tabelle "Bestellungen" an. Eine einzelne Bestellung kann mehrere Artikel enthalten. Andererseits kann ein einzelner Artikel in vielen Bestellungen angezeigt werden. Daher können für jeden Datensatz in der Tabelle "Bestellungen" viele Datensätze in der Tabelle "Artikel" vorhanden sein. Darüber hinaus kann jeder Datensatz in der Tabelle "Artikel" über zahlreiche Datensätze in der Tabelle "Bestellungen" verfügen. Diese Beziehung wird als m:n-Beziehung bezeichnet. Beim Ermitteln von vorhandenen m:n-Beziehungen zwischen den Tabellen müssen Sie beide Seiten der Beziehung berücksichtigen.
    Zum Darstellen einer Viele-zu-Viele-Beziehung muss eine dritte Tabelle erstellt werden, die oft als Zuordnungstabelle bezeichnet wird und die die Viele-zu-Viele-Beziehung in zwei 1:n-Beziehungen aufteilt. Sie fügen den Primärschlüssel aus einer der beiden Tabellen in die dritte Tabelle ein. Daraufhin nimmt die dritte Tabelle alle Vorkommen oder Instanzen der Beziehung auf. Zwischen der Tabelle "Bestellungen" und der Tabelle "Artikel" besteht z. B. eine Viele-zu-Viele-Beziehung, die durch Erstellen zweier 1:n-Beziehungen in der Tabelle "Bestelldetails" definiert wird. Eine Bestellung kann viele Artikel enthalten, und jeder Artikel kann in vielen Bestellungen vorhanden sein.
  • 1:1-Beziehung
    In einer 1:1-Beziehung kann jeder Datensatz in der ersten Tabelle lediglich über einen übereinstimmenden Datensatz in der zweiten Tabelle verfügen, und jeder Datensatz in der zweiten Tabelle nur über einen übereinstimmenden Datensatz in der ersten Tabelle. Diese Beziehung ist nicht üblich, da Informationen, die auf diese Art und Weise verknüpft sind, häufig in der gleichen Tabelle gespeichert werden. Sie können eine 1:1-Beziehung z. B. verwenden, um eine Tabelle mit vielen Feldern zu teilen, um einen Teil der Tabelle aus Sicherheitsgründen abzutrennen, oder um Informationen zu speichern, die nur für eine Untermenge der Haupttabelle gelten. Wenn Sie eine solche Beziehung identifizieren, muss von beiden Tabellen ein Feld gemeinsam genutzt werden.

Seitenanfang

Warum sollten Tabellenbeziehungen erstellt werden?

Sie können Tabellenbeziehungen ausdrücklich über das Fenster Beziehungen erstellen oder durch Ziehen eines Felds aus dem Bereich "Feldliste". Access verwendet Tabellenbeziehungen, um zu entscheiden, wie Tabellen verknüpft werden, wenn Sie sie in einem Datenbankobjekt verwenden müssen. Es gibt mehrere Gründe, warum Tabellenbeziehungen vor dem Erstellen anderer Datenbankobjekte wie Formulare, Abfragen und Berichte erstellt werden sollten.

  • Tabellenbeziehungen liefern Informationen für das Abfragedesign
    Beim Arbeiten mit Datensätzen aus mehreren Tabellen muss häufig eine Abfrage zum Verknüpfen der Tabellen erstellt werden. Während der Abfrage werden die Werte im Primärschlüsselfeld der ersten Tabelle mit einem Fremdschlüsselfeld in der zweiten Tabelle abgestimmt. Erstellen Sie zum Zurückgeben von Zeilen, die alle Bestellungen für die einzelnen Kunden auflisten, eine Abfrage, die die Tabelle "Kunden" mit der Tabelle "Bestellungen" basierend auf dem Feld "Kunden-ID" verknüpft. Im Fenster "Beziehungen" können Sie die zu verknüpfenden Felder manuell angeben. Wenn Sie jedoch bereits eine Beziehung zwischen den Tabellen definiert haben, stellt Access die Standardverknüpfung basierend auf der vorhandenen Tabellenbeziehung bereit. Wenn Sie einen der Abfrage-Assistenten verwenden, verwendet Access die Informationen, die es aus den bereits definierten Tabellenbeziehungen sammelt, um Ihnen fundierte Auswahlmöglichkeiten zu präsentieren und die Eigenschafteneinstellungen vorab mit entsprechenden Standardwerten aufzufüllen.
  • Tabellenbeziehungen liefern Daten für das Formular- und Berichtdesign
    Beim Entwerfen eines Formulars oder Berichts verwendet Access die Informationen, die es aus den bereits definierten Tabellenbeziehungen sammelt, um Ihnen fundierte Auswahlmöglichkeiten zu präsentieren und Eigenschafteneinstellungen vorab mit entsprechenden Standardwerten auszufüllen.
  • Tabellenbeziehungen bilden die Grundlage, auf der Sie referenzielle Integrität durchsetzen können, um verwaiste Datensätze in Ihrer Datenbank zu verhindern. Ein verwaister Datensatz ist ein Datensatz mit einem Verweis auf einen anderen Datensatz, der nicht vorhanden ist – beispielsweise ein Bestelldatensatz, der auf einen Kundendatensatz verweist, den es nicht gibt.
    Beim Entwerfen einer Datenbank werden die Informationen in Tabellen aufgeteilt, die alle über einen Primärschlüssel verfügen. Dann werden Fremdschlüssel als Verweis auf diese Primärschlüssel in verknüpften Tabellen hinzugefügt. Die Paare aus Fremdschlüssel und Primärschlüssel stellen die Basis für Tabellenbeziehungen und Abfragen für mehrere Tabellen dar. Es ist wichtig, dass diese Fremdschlüssel-Primärschlüsselverweise synchronisiert bleiben. Durch die referenzielle Integrität, die von Tabellenbeziehungen abhängt, wird sichergestellt, dass Verweise synchronisiert bleiben.

Seitenanfang

Grundlegendes zur referenziellen Integrität

Beim Entwerfen einer Datenbank teilen Sie Ihre Datenbankinformationen in viele themenbasierte Tabellen auf, um Datenredundanz zu minimieren. Anschließend bieten Sie Access eine Möglichkeit, die Daten wieder zusammenzuführen, indem Sie gemeinsame Felder in verknüpften Tabellen platzieren. Um beispielsweise eine 1:n-Beziehung darzustellen, nehmen Sie den Hauptschlüssel von der "1"-Tabelle und fügen ihn der "n"-Tabelle als zusätzliches Feld hinzu. Um die Daten wieder zusammenzuführen, nimmt Access den Wert in der Tabelle "viele" und sucht den entsprechenden Wert in der Tabelle "Eins". Auf diese Weise verweisen die Werte in der "n"-Tabelle auf die entsprechenden Werte in der "1"-Tabelle.

Gehen wir davon aus, dass Sie über eine 1:n-Beziehung zwischen Versandfirmen und Bestellungen verfügen und eine Versandfirma löschen möchten. Wenn die Versandfirma, die Sie löschen möchten, über Bestellungen in der Tabelle "Bestellungen" verfügt, "verwaisen" diese Bestellungen, sobald Sie denn Datensatz für die Versandfirma löschen. Die Bestellungen verfügen weiterhin über eine Versandfirmen-ID, die ID ist jedoch nicht mehr gültig, da der Datensatz, auf den verwiesen wird, nicht mehr vorhanden ist.

Der Zweck von referenzieller Integrität ist es, verwaiste Datensätze zu vermeiden und Verweise stets zu synchronisieren, sodass diese hypothetische Situation nicht eintritt.

Die referenzielle Integrität wird erzwungen, indem sie für eine Tabellenbeziehung aktiviert wird. Wenn sie aktiviert ist, verweigert Access Vorgänge, bei denen die referenzielle Integrität für diese Tabellenbeziehung verletzt wird. Das bedeutet, dass Access sowohl Aktualisierungsvorgänge, bei denen ein Verweisziel geändert wird, als auch Löschvorgänge, bei denen das Ziel eines Verweises entfernt wird, verweigert. Möglicherweise müssen Sie den Primärschlüssel für einen Versanddienstleister ändern, der Bestellungen in der Tabelle "Bestellungen" enthält. In solchen Fällen muss Access alle betroffenen Zeilen in einem Vorgang automatisch aktualisieren. Auf diese Weise stellt Access sicher, dass die Aktualisierung vollständig abgeschlossen wird, sodass die Datenbank nicht inkonsistent wird, d. h. dass nicht einige Zeilen aktualisiert werden und andere nicht. Hierfür unterstützt Access die Option "Aktualisierungsweitergabe an verwandte Felder ". Wenn Sie die referenzielle Integrität erzwingen, die Option "Aktualisierungsweitergabe an verwandte Felder " auswählen und dann einen Primärschlüssel aktualisieren, aktualisiert Access automatisch alle Felder, die auf den Primärschlüssel verweisen.

Es kann auch vorkommen, dass Sie eine Zeile und alle verknüpften Datensätze löschen müssen, z. B. einen Versandfirmendatensatz und alle verknüpften Bestellungen für die Versandfirma. Hierfür unterstützt Access die Option "Löschweitergabe an verwandte Datensätze ". Wenn Sie die referenzielle Integrität erzwingen, die Option "Löschweitergabe an verwandte Datensätze " auswählen und dann einen Datensatz auf der Primärschlüsselseite der Beziehung löschen, löscht Access automatisch alle Datensätze, die auf den Primärschlüssel verweisen.

Seitenanfang

Anzeigen von Tabellenbeziehungen

Um Ihre Tabellenbeziehungen anzuzeigen, klicken Sie auf der Registerkarte Datenbanktools auf Beziehungen. Das Fenster "Beziehungen" wird geöffnet und zeigt alle vorhandenen Beziehungen an. Wenn keine Tabellenbeziehungen definiert wurden und Sie das Fenster "Beziehungen" zum ersten Mal öffnen, werden Sie von Access aufgefordert, dem Fenster eine Tabelle oder Abfrage hinzuzufügen.

Öffnen des Fensters "Beziehungen"

  1. Klicken Sie auf "Datei", klicken Sie auf "Öffnen", und wählen Sie dann die Datenbank aus, und öffnen Sie sie.

  2. Klicken Sie auf der Registerkarte Datenbanktools in der Gruppe Beziehungen auf Beziehungen.

  3. Klicken Sie auf der Registerkarte "Beziehungen" in der Gruppe "Beziehungen " auf "Alle Beziehungen".

    Dadurch werden alle definierten Beziehungen in Ihrer Datenbank angezeigt. Ausgeblendete Tabellen (Tabellen, für die das Kontrollkästchen Ausgeblendet im Dialogfeld Eigenschaften der Tabelle aktiviert ist) und die zugehörigen Beziehungen werden nur angezeigt, wenn im Dialogfeld Navigationsoptionen das Kontrollkästchen Ausgeblendete Objekte anzeigen aktiviert ist.

Eine Tabellenbeziehung wird durch eine Beziehungslinie zwischen Tabellen im Fenster "Beziehungen" dargestellt. Eine Beziehung, die keine referenzielle Integrität erzwingt, wird als dünne Linie zwischen den gemeinsamen Feldern dargestellt, die die Beziehung unterstützen. Wenn Sie die Beziehung durch Klicken auf die Linie auswählen, wird die Linie breiter angezeigt, um zu verdeutlichen, dass sie ausgewählt ist. Wenn Sie referenzielle Integrität für die Beziehung erzwingen, wird die Linie an den Enden breiter dargestellt. Darüber hinaus wird die Zahl 1 über den breiten Abschnitten der Linie auf der einen Seite der Beziehung und das Unendlichkeitssymbol (() über dem breiten Bereich der Linie auf der anderen Seite der Beziehung angezeigt.

Wenn das Fenster "Beziehungen" aktiv ist, können Sie zwischen den folgenden Befehlen im Menüband wählen:

Auf der Registerkarte "Beziehungsentwurf " in der Gruppe "Tools ":

  • Beziehungen bearbeiten Öffnet das Dialogfeld "Beziehungen bearbeiten ". Wenn Sie eine Beziehungslinie auswählen, können Sie auf Beziehungen bearbeiten klicken, um die Tabellenbeziehung zu ändern. Sie können auch auf die Beziehungslinie doppelklicken.
  • Layout übersichtlich gestalten Entfernt alle Tabellen und Beziehungen aus der Anzeige im Fenster "Beziehungen". Beachten Sie, dass mit diesem Befehl Tabellen und Beziehungen lediglich ausgeblendet und nicht gelöscht werden.
  • Bericht "Beziehungen" Erstellt einen Bericht, in dem die Tabellen und Beziehungen in der Datenbank angezeigt werden. Im Bericht werden lediglich die Tabellen und Beziehungen angezeigt, die im Fenster "Beziehungen" nicht ausgeblendet sind.

Auf der Registerkarte "Beziehungsentwurf " in der Gruppe "Beziehungen ":

  • Hinzufügen von Tabellen Aktiviert die Auswahl von Tabellen, die im Fenster "Beziehungen" angezeigt werden sollen.
  • Tabelle ausblenden Blendet die ausgewählten Tabellen im Fenster "Beziehungen" aus.
  • Direkte Beziehungen Zeigt alle Beziehungen und verknüpften Tabellen für die ausgewählte Tabelle im Fenster "Beziehungen" an, wenn diese nicht bereits angezeigt werden.
  • Alle Beziehungen Zeigt alle Beziehungen und verknüpften Tabellen in Ihrer Datenbank im Fenster "Beziehungen" an. Die ausgeblendeten Tabellen (Tabellen, für die das Kontrollkästchen Ausblenden im Dialogfeld Eigenschaften der Tabelle ausgeblendet wurde) und die zugehörigen Beziehungen werden nur angezeigt, wenn im Dialogfeld "Navigationsoptionen" das Kontrollkästchen "Ausgeblendete Objekte anzeigen" aktiviert ist.
  • Schließen Schließt das Fenster "Beziehungen". Wenn Sie Änderungen am Layout des Fensters "Beziehungen" vorgenommen haben, werden Sie gefragt, ob Sie die Änderungen speichern möchten.

Seitenanfang