Leitfaden für Tabellenbeziehungen

Eines der Ziele eines guten Datenbankentwurfs ist das Entfernen von Datenredundanz (Duplikaten). Ihre Daten müssen in zahlreiche themenbasierte Tabellen aufgeteilt werden, um dieses Ziel zu erreichen, sodass jeder Eintrag nur einmal vorhanden ist. Sie stellen Access dann die Mittel zur Verfügung, mit denen die aufgeteilten Informationen wieder zusammengeführt werden können. Dies wird über gemeinsame Felder erreicht, die Sie in verknüpften Tabellen einfügen. Zunächst müssen jedoch die Beziehungen zwischen den Tabellen verstanden und die Beziehungen in Ihrer Datenbank angegeben werden, um diesen Schritt korrekt ausführen zu können.

Weitere Informationen finden Sie im Artikel Grundlagen des Datenbankentwurfs.

Dieser Artikel befasst sich nicht mit den Beziehungen in einer Webdatenbank. Webdatenbanken überstützen das Fenster Beziehungen nicht. Zum Erstellen von Beziehungen in einer Webdatenbank verwenden Sie Nachschlagefenster. Weitere Informationen finden Sie im Artikel Erstellen einer im Web freizugebenden Datenbank.

Inhalt dieses Artikels


Einführung

Nach dem Erstellen einer Tabelle für alle Themen in der Datenbank, müssen Sie für Access Mittel bereitstellen, mit denen diese Informationen bei Bedarf wieder zusammengeführt werden können. 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 Informationen aus insgesamt fünf miteinander durch Beziehungen verknüpften Tabellen

Legende 1 Die Informationen in diesem Formular stammen aus der Tabelle Kunden,
Legende 2 der Tabelle Bestellungen,
Legende 3 der Tabelle Artikel
Legende 4 und der 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 vorangegangenen Beispiel müssen die Felder aus den Tabellen so koordiniert werden, dass sie Informationen zu ein und derselben Bestellung anzeigen. Diese Koordination wird durch Verwenden von Tabellenbeziehungen erreicht. Für Tabellenbeziehungen werden Daten in Schlüsselfeldern abgestimmt. Hierbei handelt es sich oft um Felder mit dem gleichen Namen in beiden Tabellen. In den meisten Fällen stellen diese übereinstimmenden Felder in der einen Tabelle den Primärschlüssel dar, der einen eindeutigen Bezeichner für jeden Datensatz enthält, und in der anderen Tabelle einen Fremdschlüssel. So können Mitarbeiter z. B. mit Bestellungen verknüpft werden, für die sie verantwortlich sind, indem eine Tabellenbeziehung zwischen den Feldern Personal-Nr in den Tabellen Personal und Bestellungen erstellt wird.

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

Legende 1 Personal-Nr tritt in beiden Tabellen auf \endash als Primärschlüssel ...
Legende 1  
Legende 2 ... und als Fremdschlüssel.

Seitenanfang Seitenanfang

Typen von Tabellenbeziehungen

Es gibt drei Typen von Tabellenbeziehungen.

  • 1:n-Beziehung

Betrachten Sie eine Überwachungsdatenbank für Bestellungen, die die Tabellen Kunden und Bestellungen einschließt. 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 daher eine 1:n-Beziehung.

Zum Darstellen einer 1:n-Beziehung im Datenbankentwurf nehmen Sie den Primärschlüssel von der Seite "1" der Beziehung und fügen ihn als zusätzliches Feld oder Felder auf der Seite "n" 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. Die Kunden-ID in der Tabelle Bestellungen kann dann von Access zum Suchen des richtigen Kunden für die einzelnen Bestellungen verwendet werden.

  • m:n-Beziehung

Betrachten Sie die Beziehung zwischen den Tabellen Artikel und Bestellungen. 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. Dieser Beziehungstyp wird als Viele-zu-Viele-Beziehung bezeichnet, da für einen Artikel viele Bestellungen und für jede Bestellung viele Artikel vorhanden sein können. Beim Bestimmen von vorhandenen Viele-zu-Viele-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. Dieser Beziehungstyp 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 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 zum Verknüpfen von Tabellen, wenn diese in einem Datenbankobjekt verwendet werden. 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 bereits eine Beziehung für die Tabellen definiert ist, verwendet Access die Standardverknüpfung basierend auf der vorhandenen Tabellenbeziehung. Wenn Sie einen der Abfrage-Assistenten verwenden, nutzt Access darüber hinaus die Informationen aus den bereits definierten Tabellenbeziehungen, um Ihnen bessere Optionen vorzuschlagen und die entsprechenden Standardwerte für Eigenschafteneinstellungen automatisch einzutragen.

  • Tabellenbeziehungen liefern Daten für das Formular- und Berichtdesign

Beim Entwerfen eines Formulars oder Berichts verwendet Access die Informationen aus den bereits definierten Tabellenbeziehungen, um Ihnen bessere Optionen vorzuschlagen und die entsprechenden Standardwerte für Eigenschafteneinstellungen automatisch einzutragen.

  • Bei Tabellenbeziehungen handelt es sich um die Grundlage für das Erzwingen der referenziellen Integrität, um das Vorhandensein verwaister Datensätze zu vermeiden. Bei einem verwaisten Datensatz handelt es sich um einen Datensatz, der auf einen anderen, nicht mehr vorhandenen Datensatz verweist. Zum Beispiel ein Bestelldatensatz, der auf einen Kundendatensatz verweist, der nicht mehr vorhanden ist.

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 daher wichtig, dass diese Verweise zwischen Fremdschlüssel und Primärschlüssel stets synchronisiert werden. Über referenzielle Integrität wird sichergestellt, dass Verweise synchronisiert bleiben und von Tabellenbeziehungen abhängen.

Seitenanfang Seitenanfang

Grundlegendes zur referenziellen Integrität

Beim Entwerfen einer Datenbank werden die Informationen in zahlreiche themenbasierte Tabellen aufgeteilt, um Datenredundanz zu vermeiden. Sie stellen Access dann die Mittel bereit, die Daten wieder zusammenzuführen. Dies wird durch Einfügen gemeinsamer Felder in verknüpften Tabellen erreicht. Beim Darstellen einer 1:n-Beziehung nehmen Sie den Primärschlüssel aus der Tabelle "1" und fügen ihn der Tabelle "n" als zusätzliches Feld hinzu. Zum Zusammenführen der Daten verwendet Access den Wert aus der Tabelle "n" und sucht den entsprechenden Wert in der Tabelle "1". Auf diese Art verweisen die Werte der Tabelle "n" auf die entsprechenden Werte in der Tabelle "1".

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.

Referenzielle Integrität wird durch deren Aktivierung für eine Tabellenbeziehung erzwungen (eine Schritt-für-Schritt-Anleitung finden Sie unter Erzwingen der referenziellen Integrität). Wenn sie aktiviert ist, verweigert Access Vorgänge, bei denen gegen die referenzielle Integrität für diese Tabellenbeziehung verstoßen wird. Dies bedeutet, dass Access Aktualisierungen verweigert, die das Ziel eines Verweises ändern sowie Löschvorgänge, mit denen das Ziel eines Verweises entfernt wird. Es kann jedoch möglich sein, dass Sie den Primärschlüssel für eine Versandfirma aus gutem Grund ändern müssen, die über Bestellungen in der Tabelle Bestellungen verfügt. In diesen Fällen ist es erforderlich, dass Access automatisch alle betroffenen Zeilen in einem Vorgang aktualisiert. Hierdurch stellt Access sicher, dass die Aktualisierung vollständig durchgeführt wird und Ihre Datenbank sich nicht in einem inkonsistenten Zustand befindet, in dem einige Zeilen aktualisiert sind, aber andere nicht. Aus diesem Grund 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 und 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 mit Verweis auf den Primärschlüssel.

Seitenanfang Seitenanfang

Anzeigen von Tabellenbeziehungen

Klicken Sie auf Beziehungen auf der Registerkarte Datenbanktools, um die Tabellenbeziehungen anzuzeigen. Das Fenster Beziehungen wird geöffnet und zeigt die vorhandenen Beziehungen an. Wenn noch keine Tabellenbeziehungen definiert wurden und Sie das Fenster Beziehungen zum ersten Mal öffnen, fordert Access Sie dazu auf, dem Fenster eine Tabelle oder Abfrage hinzuzufügen.

Öffnen des Fensters "Beziehungen"

  1. Klicken Sie auf der Registerkarte Datei auf Öffnen.
  2. Wählen Sie im Dialogfeld Öffnen die Datenbank aus, und öffnen Sie sie.
  3. Klicken Sie auf der Registerkarte Datenbanktools in der Gruppe Beziehungen auf Beziehungen.
  4. Wenn die Datenbank über Beziehungen verfügt, wird das Fenster Beziehungen angezeigt. Wenn die Datenbank nicht über Beziehungen verfügt, und Sie das Fenster Beziehungen zum ersten Mal öffnen, wird das Dialogfeld Tabelle anzeigen angezeigt. Klicken Sie auf Schließen, um das Dialogfeld zu schließen.
  1. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Beziehungen auf Alle Beziehungen.

Hiermit werden alle definierten Beziehungen in Ihrer Datenbank angezeigt. 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.

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 (8) ü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 Entwurf 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 löschen    Hiermit werden alle Tabellen und Beziehungen aus der Anzeige im Fenster Beziehungen gelöscht. Beachten Sie, dass mit diesem Befehl Tabellen und Beziehungen lediglich ausgeblendet und nicht gelöscht werden.
  • Beziehungsbericht    Erstellt einen Bericht, der die Tabellen und Beziehungen in Ihrer Datenbank anzeigt. Im Bericht werden lediglich die Tabellen und Beziehungen angezeigt, die im Fenster Beziehungen nicht ausgeblendet sind.

Auf der Registerkarte Entwurf in der Gruppe Beziehungen:

  • Tabelle anzeigen    Öffnet das Dialogfeld Tabelle anzeigen, sodass Sie Tabellen und Abfragen zur Anzeige im Fenster Beziehungen auswählen können.
  • 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 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 Seitenanfang

Erstellen einer Tabellenbeziehung

Sie können eine Tabellenbeziehung mithilfe des Fensters Beziehungen erstellen oder durch Ziehen eines Felds aus dem Bereich Feldliste auf ein Datenblatt. Wenn Sie eine Beziehung zwischen Tabellen erstellen, müssen die gemeinsamen Felder nicht über die gleichen Namen verfügen, obwohl dies häufig der Fall ist. Die Felder müssen vielmehr über den gleichen Datentyp verfügen. Wenn es sich bei dem Primärschlüsselfeld um ein AutoWert-Feld handelt, kann das Fremdschlüsselfeld ein Nummernfeld sein, wenn die Feldgröße-Eigenschaft für beide Felder gleich ist. So können Sie z. B. ein AutoWert-Feld mit einem Nummernfeld abstimmen, wenn die Feldgröße-Eigenschaft für beide Felder Long Integer ist. Wenn es sich bei beiden Feldern um Nummernfelder handelt, müssen diese über die gleichen Einstellungen für die Feldgröße-Eigenschaft verfügen.

Erstellen einer Tabellenbeziehung mithilfe des Fensters "Beziehungen"

  1. Klicken Sie auf der Registerkarte Datei auf Öffnen.
  2. Wählen Sie im Dialogfeld Öffnen die Datenbank aus, und öffnen Sie sie.
  3. Klicken Sie auf der Registerkarte Datenbanktools in der Gruppe Beziehungen auf Beziehungen.
  4. Wenn Sie noch keine Beziehungen definiert haben, wird automatisch das Dialogfeld Tabelle anzeigen angezeigt. Wenn das Dialogfeld nicht angezeigt wird, klicken Sie auf der Registerkarte Entwurf in der Gruppe Beziehungen auf Tabelle anzeigen.

Im Dialogfeld Tabelle anzeigen werden alle Tabellen und Abfragen in der Datenbank angezeigt. Klicken Sie zum Anzeigen von Tabellen auf Tabellen. Klicken Sie zum Anzeigen von Abfragen auf Abfragen. Klicken Sie zum Anzeigen von Tabellen und Abfragen auf Beide.

  1. Markieren Sie eine oder mehrere Tabellen oder Abfragen, und klicken Sie dann auf Hinzufügen. Klicken Sie auf Schließen, wenn Sie das Hinzufügen von Tabellen und Abfragen zum Fenster Beziehungen abgeschlossen haben.
  2. Ziehen Sie ein Feld (zumeist den Primärschlüssel) aus einer Tabelle in das gemeinsame Feld (den Fremdschlüssel) in der anderen Tabelle. Drücken Sie die STRG-TASTE, um mehrere Felder gleichzeitig zu ziehen. Klicken Sie auf die einzelnen Felder, und ziehen Sie sie dann zur neuen Position.

Das Dialogfeld Beziehungen bearbeiten wird geöffnet.

  1. Überprüfen Sie, ob die angezeigten Feldnamen die gemeinsamen Felder für die Beziehung angeben. Wenn ein Feldname nicht korrekt ist, klicken Sie auf den Feldnamen, und wählen Sie ein neues Feld aus der Liste aus.

Um für diese Beziehung referenzielle Integrität zu erzwingen, aktivieren Sie das Kontrollkästchen Mit referenzieller Integrität. Weitere Informationen zur referenziellen Integrität finden Sie in den Abschnitten Grundlegendes zur referenziellen Integrität und Erzwingen der referenziellen Integrität.

  1. Klicken Sie auf Erstellen.

Die Beziehungslinie wird zwischen den beiden Tabellen eingezeichnet. Wenn Sie das Kontrollkästchen Mit referenzieller Integrität aktiviert haben, wird die Linie an den Enden breiter dargestellt. Darüber hinaus wird, wenn Sie das Kontrollkästchen Mit referenzieller Integrität aktiviert haben, die Zahl 1 über dem breiteren Ende auf der einen Seite der Beziehung angezeigt und das Unendlichkeitssymbol () über dem breiten Bereich auf der anderen Seite.

 Hinweise 

  • So erstellen Sie eine 1:1-Beziehung    Beide gemeinsamen Felder (in der Regel das Primärschlüssel- und das Fremdschlüsselfeld) müssen über einen eindeutigen Index verfügen. Dies bedeutet, dass die indizierte Eigenschaft für diese Felder auf Ja (ohne Duplikate) festgelegt werden sollte. Wenn beide Felder über einen eindeutigen Index verfügen, erstellt Access eine 1:1-Beziehung.
  • So erstellen Sie eine 1:n-Beziehung    Das Feld auf der Seite "1" (in der Regel das Primärschlüsselfeld) der Beziehung muss über einen eindeutigen Index verfügen. Dies bedeutet, dass die indizierte Eigenschaft für das Feld auf Ja (ohne Duplikate) festgelegt werden sollte. Das Feld auf der Seite "n" sollte nicht über einen eindeutigen Index verfügen. Es darf über einen Index verfügen, muss jedoch Duplikate zulassen. Dies bedeutet, dass die indizierte Eigenschaft für das Feld entweder auf Nein oder Ja (Duplikate möglich festgelegt werden sollte. Wenn ein Feld über einen eindeutigen Index verfügt und ein anderes Feld nicht, erstellt Access eine 1:n-Beziehung.

Erstellen einer Tabellenbeziehung mithilfe des Bereichs "Feldliste"

Sie können einer vorhandenen Tabelle, die in der Datenblattansicht geöffnet ist, ein Feld hinzufügen, indem Sie es aus dem Bereich Feldliste ziehen. Der Bereich Feldliste zeigt Felder an, die in verknüpften Tabellen verfügbar sind sowie Felder, die in anderen Tabellen verfügbar sind. Wenn Sie ein Feld aus einer "anderen" (nicht verknüpften) Tabelle ziehen und dann den Nachschlage-Assistenten ausführen, wird automatisch eine neue 1:n-Beziehung zwischen der Tabelle im Bereich Feldliste und der Tabelle erstellt, in die Sie das Feld gezogen haben. Diese von Access erstellte Beziehung erzwingt die referenzielle Integrität nicht standardmäßig. Sie müssen die Beziehung bearbeiten, um die referenzielle Integrität zu erzwingen. Weitere Informationen finden Sie im Abschnitt Ändern einer Tabellenbeziehung.

Öffnen einer Tabelle in der Datenblattansicht

  1. Klicken Sie auf der Registerkarte Datei auf Öffnen.
  2. Wählen Sie im Dialogfeld Öffnen die Datenbank aus, und öffnen Sie sie.
  3. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf die Tabelle, der Sie das Feld hinzufügen und für die Sie die Beziehung erstellen möchten, und klicken Sie dann auf Öffnen.

Öffnen des Bereichs "Feldliste"

  • Drücken Sie ALT+F8.

Der Bereich Feldliste wird angezeigt.

Im Bereich Feldliste werden alle anderen Tabellen in Ihrer Datenbank, gruppiert in Kategorien, angezeigt. Wenn Sie in der Datenblattansicht mit einer Tabelle arbeiten, werden in Access Felder in einer von zwei Kategorien im Bereich Feldliste angezeigt: In verknüpften Tabellen verfügbare Felder und In anderen Tabellen verfügbare Felder. In der ersten Kategorie sind alle Tabellen aufgelistet, die eine Beziehung mit der Tabelle haben, mit der Sie gerade arbeiten. In der zweiten Kategorie sind alle Tabellen aufgelistet, mit denen Ihre Tabelle keine Beziehung hat.

Wenn Sie im Bereich Feldliste auf das Pluszeichen ( +) neben einem Tabellennamen klicken, wird eine Liste mit allen Feldern angezeigt, die in dieser Tabelle zur Verfügung stehen. Um Ihrer Tabelle ein Feld hinzuzufügen, ziehen Sie das gewünschte Feld aus dem Bereich Feldliste in die Tabelle in der Datenblattansicht.

Hinzufügen eines Felds und Erstellen einer Beziehung über den Bereich "Feldliste"

  1. Klicken Sie im Bereich Feldliste unter In anderen Tabellen verfügbare Felder auf das Pluszeichen ( +) neben einem Tabellennamen, um die Liste mit Feldern in dieser Tabelle anzuzeigen.
  2. Ziehen Sie das gewünschte Feld aus dem Bereich Feldliste in die Tabelle, die in der Datenblattansicht geöffnet ist.
  3. Wenn die Einfügelinie angezeigt wird, legen Sie das Feld an der gewünschten Position ab.

Der Nachschlage-Assistent wird gestartet.

  1. Folgen Sie den Anweisungen, um den Nachschlage-Assistenten auszuführen.

Das Feld wird in der Datenblattansicht in der Tabelle angezeigt.

Wenn Sie ein Feld aus einer "anderen" (nicht verknüpften) Tabelle ziehen und dann den Nachschlage-Assistenten ausführen, wird automatisch eine neue 1:n-Beziehung zwischen der Tabelle im Bereich Feldliste und der Tabelle erstellt, in die Sie das Feld gezogen haben. Diese von Access erstellte Beziehung erzwingt die referenzielle Integrität nicht standardmäßig. Zum Erzwingen der referenziellen Integrität müssen Sie die Beziehung bearbeiten. Weitere Informationen hierzu finden Sie im Abschnitt Ändern einer Tabellenbeziehung.

Seitenanfang Seitenanfang

Löschen einer Tabellenbeziehung

Um eine Tabellenbeziehung zu entfernen, müssen Sie die Beziehungslinie im Fenster Beziehungen löschen. Positionieren Sie den Cursor so, dass dieser auf die Beziehungslinie zeigt, und klicken Sie dann auf die Linie. Wenn die Beziehungslinie markiert ist, wird sie breiter angezeigt. Drücken Sie die ENTF-TASTE, solange die Beziehungslinie markiert ist. Wenn Sie die Beziehung entfernen, geht die Unterstützung der referenziellen Integrität für diese Beziehung verloren, sofern diese aktiviert ist. Access kann infolgedessen nicht mehr automatisch verhindern, dass auf der n-Seite einer Beziehung verwaiste Datensätze entstehen.

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

Das Fenster Beziehungen wird angezeigt. Wenn Sie noch keine Beziehungen definiert haben und das Fenster Beziehungen zum ersten Mal öffnen, wird das Dialogfeld Tabelle anzeigen geöffnet. Wenn das Dialogfeld angezeigt wird, klicken Sie auf Schließen.

  1. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Beziehungen auf Alle Beziehungen.

Alle Tabellen mit Beziehungen werden mit Beziehungslinien angezeigt.

  1. Klicken Sie auf die Beziehungslinie für die Beziehung, die Sie löschen möchten. Wenn die Beziehungslinie markiert ist, wird sie dicker angezeigt.
  2. Drücken Sie ENTF.

– oder –

Klicken Sie mit der rechten Maustaste, und klicken Sie dann auf Löschen.

  1. Access zeigt möglicherweise folgende Meldung an: Möchten Sie die ausgewählte Beziehung wirklich endgültig aus Ihrer Datenbank löschen?. Wenn diese Bestätigungsmeldung angezeigt wird, klicken Sie auf Ja.

 Hinweis   Wenn eine der an der Tabellenbeziehung beteiligten Tabellen verwendet wird (möglicherweise von einer anderen Person oder einem anderen Prozess oder in einem geöffneten Datenbankobjekt, wie z. B. in einem Formular), kann die Beziehung nicht gelöscht werden. Sie müssen zuerst sämtliche Objekte schließen, in denen diese Tabellen verwendet werden, bevor Sie die Beziehung entfernen können.

Seitenanfang Seitenanfang

Ändern einer Tabellenbeziehung

Eine Tabellenbeziehung können Sie ändern, indem Sie sie im Fenster Beziehung markieren und dann bearbeiten. Zeigen Sie mit dem Mauszeiger auf die Beziehungslinie, und klicken Sie dann darauf, um sie zu markieren. Wenn die Beziehungslinie markiert ist, wird sie breiter angezeigt. Doppelklicken Sie bei ausgewählter Beziehungslinie auf diese, oder klicken Sie auf der Registerkarte Entwurf in der Gruppe Tools auf Beziehungen bearbeiten. Das Dialogfeld Beziehungen bearbeiten wird geöffnet.

Vornehmen von Änderungen im Dialogfeld "Beziehungen bearbeiten"

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

Das Fenster Beziehungen wird angezeigt. Wenn Sie noch keine Beziehungen definiert haben und das Fenster Beziehungen zum ersten Mal öffnen, wird das Dialogfeld Tabelle anzeigen geöffnet. Wenn das Dialogfeld angezeigt wird, klicken Sie auf Schließen.

  • Klicken Sie auf der Registerkarte Entwurf in der Gruppe Beziehungen auf Alle Beziehungen.
  1. Alle Tabellen mit Beziehungen werden mit Beziehungslinien angezeigt.
  2. Klicken Sie auf die Beziehungslinie der Beziehung, die Sie ändern möchten. Wenn die Beziehungslinie markiert ist, wird sie dicker angezeigt.
  3. Doppelklicken Sie auf die Beziehungslinie.
  4. Nehmen Sie die gewünschten Änderungen vor, und klicken Sie dann auf OK.

Im Dialogfeld Beziehungen bearbeiten können Sie eine Tabellenbeziehung ändern. Sie können die Tabellen oder Abfragen auf einer Seite der Beziehung oder die Felder auf einer Seite ändern. Sie können zudem den Verknüpfungstyp festlegen oder referenzielle Integrität erzwingen und eine Weitergabeoption auswählen. Weitere Informationen zum Verknüpfungstyp sowie zum Festlegen des Verknüpfungstyps finden Sie im Abschnitt Festlegen des Verknüpfungstyps. Weitere Informationen zum Erzwingen der referenziellen Integrität und zum Auswählen einer Weitergabeoption finden Sie im Abschnitt Erzwingen der referenziellen Integrität.

Festlegen des Verknüpfungstyps

Beim Definieren einer Tabellenbeziehung bestimmen die Beziehungsdaten die Abfrageentwürfe. Wenn Sie beispielsweise eine Beziehung zwischen zwei Tabellen definieren und anschließend eine Abfrage mit diesen Tabellen erstellen, wählt Access automatisch die übereinstimmenden Standardfelder aus, die auf den in der Beziehung angegebenen Feldern basieren. Sie können diese anfänglichen Standardwerte in der Abfrage außer Kraft setzen, die von der Beziehung bereitgestellten Werte stellen sich jedoch häufig als die richtigen heraus. Da Daten außer in den einfachsten in allen Datenbanken häufig aus mehreren Tabellen verglichen und zusammengebracht werden, kann es zeitsparend und von Vorteil sein, durch Erstellen von Beziehungen Standardwerte festzulegen.

In einer Abfrage zu mehreren Tabellen werden Daten durch Vergleichen der Werte in gemeinsamen Feldern aus mehreren Tabellen zusammengeführt. Der Vorgang, bei dem Werte verglichen und zusammengeführt werden, wird als Verknüpfung bezeichnet. Angenommen, Sie möchten beispielsweise Bestellungen von Kunden anzeigen. Sie erstellen eine Abfrage, mit der die Tabelle Kunden und die Tabelle Bestellungen anhand des Felds Kunden-ID erstellt wird. Das Abfrageergebnis enthält nur Kundendaten und Bestelldaten für die Zeilen, in denen eine Übereinstimmung gefunden wurde.

Einer der Werte, die Sie für eine Beziehung festlegen können, ist der Verknüpfungstyp. Anhand des Verknüpfungstyps erkennt Access, welche Datensätze in ein Abfrageergebnis aufgenommen werden sollen. Gehen wir noch einmal von einer Abfrage aus, die die Tabelle Kunden und die Tabelle Bestellungen anhand der gemeinsamen Felder verknüpft, die die Kunden-ID repräsentieren. Mit dem Standardverknüpfungstyp (als innere Verknüpfung bezeichnet) gibt die Abfrage nur die Zeilen vom Typ Kunden und die Zeilen vom Typ Bestellung zurück, bei denen die gemeinsamen Felder (auch als verknüpfte Felder bezeichnet) übereinstimmen.

Angenommen, Sie möchten alle Kunden einschließen, auch diejenigen, die noch keine Bestellungen aufgegeben haben. Hierzu müssen Sie den Verknüpfungstyp von einer inneren Verknüpfung in eine so genannte linke äußere Verknüpfung ändern. Eine linke äußere Verknüpfung gibt alle Zeilen aus der Tabelle auf der linken Seite der Beziehung und nur diejenigen Zeilen zurück, die mit der Tabelle rechts übereinstimmen. Eine rechte äußere Verknüpfung gibt alle Zeilen auf der rechten Seite und nur diejenigen Zeilen zurück, die mit der Tabelle links übereinstimmen.

 Hinweis   In diesem Fall beziehen sich "links" und "rechts" auf die Position der Tabellen im Dialogfeld Beziehungen bearbeiten, nicht im Fenster Beziehungen.

Sie sollten sich genau überlegen, welches Ergebnis Sie von einer Abfrage am häufigsten benötigen, die die Tabellen in dieser Beziehung verknüpft, und dann den Verknüpfungstyp entsprechend festlegen.

Festlegen des Verknüpfungstyps

  1. Klicken Sie im Dialogfeld Beziehungen bearbeiten auf Verknüpfungstyp.

Das Dialogfeld Verknüpfungseigenschaften wird angezeigt.

  1. Klicken Sie auf die gewünschte Option und dann auf OK.

In der folgenden Tabelle (mit den Tabellen Kunden und Bestellungen) sind die drei Optionen, die im Dialogfeld Verknüpfungseigenschaften angezeigt werden, der verwendete Verknüpfungstyp und Angaben dazu dargestellt, ob alle Zeilen oder übereinstimmende Zeilen in die Tabellen mit aufgenommen werden.

Auswahl Relationale Verknüpfung Linke Tabelle Rechte Tabelle
1. Enthält nur die Zeilen, bei denen der Inhalt der verknüpften Felder in beiden Tabellen gleich ist. Innere Verknüpfung Übereinstimmende Zeilen Übereinstimmende Zeilen
2. Enthält ALLE Datensätze aus Kunden und nur die Datensätze aus Bestellungen, bei denen der Inhalt der verknüpften Felder in beiden Tabellen gleich ist. Linke äußere Verknüpfung Alle Zeilen Übereinstimmende Zeilen
3. Enthält ALLE Datensätze aus Bestellungen und nur die Datensätze aus Kunden, bei denen der Inhalte der verknüpften Felder in beiden Tabellen gleich ist. Rechte äußere Verknüpfung Übereinstimmende Zeilen Alle Zeilen

Wenn Sie Option 2 oder 3 auswählen, wird auf der Beziehungslinie ein Pfeil angezeigt. Dieser Pfeil zeigt auf die Seite der Beziehung, die nur übereinstimmende Zeilen anzeigt.

Vornehmen von Änderungen im Dialogfeld "Verknüpfungseigenschaften"

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

Das Fenster Beziehungen wird angezeigt. Wenn Sie noch keine Beziehungen definiert haben und das Fenster Beziehungen zum ersten Mal öffnen, wird das Dialogfeld Tabelle anzeigen geöffnet. Wenn das Dialogfeld angezeigt wird, klicken Sie auf Schließen.

  • Klicken Sie auf der Registerkarte Entwurf in der Gruppe Beziehungen auf Alle Beziehungen.

Alle Tabellen mit Beziehungen werden mit Beziehungslinien angezeigt.

  1. Klicken Sie auf die Beziehungslinie der Beziehung, die Sie ändern möchten. Wenn die Beziehungslinie markiert ist, wird sie dicker angezeigt.
  2. Doppelklicken Sie auf die Beziehungslinie.

Das Dialogfeld Beziehungen bearbeiten wird geöffnet.

  1. Klicken Sie auf Verknüpfungstyp
  2. Klicken Sie im Dialogfeld Verknüpfungseigenschaften auf eine Option, und klicken Sie dann auf OK.
  3. Nehmen Sie weitere Änderungen an der Beziehung vor, und klicken Sie dann auf OK.

Seitenanfang Seitenanfang

Erzwingen der referenziellen Integrität

Mithilfe der referenziellen Integrität sollen verwaiste Datensätze verhindert und Verweise synchron gehalten werden, sodass keine Datensätze angezeigt werden, die auf andere, nicht mehr vorhandene Datensätze verweisen. Die referenzielle Integrität wird erzwungen, indem sie für eine Tabellenbeziehung aktiviert wird. Wenn sie aktiviert ist, verweigert Access Vorgänge, bei denen gegen die referenzielle Integrität für diese Tabellenbeziehung verstoßen wird. Access verweigert sowohl Aktualisierungsvorgänge, bei denen ein Verweisziel geändert wird, als auch Löschvorgänge, bei denen das Ziel eines Verweises entfernt wird. Damit Access referenzielle Aktualisierungs- und Löschvorgänge weitergibt, sodass alle verwandten Zeilen entsprechend geändert werden, lesen Sie den Abschnitt Festlegen der CASCADE-Optionen.

Aktivieren oder Deaktivieren der referenziellen Integrität

  1. Klicken Sie im Fenster Beziehungen auf die Beziehungslinie der Beziehung, die Sie ändern möchten. Wenn die Beziehungslinie markiert ist, wird sie dicker angezeigt.
  2. Doppelklicken Sie auf die Beziehungslinie.

Das Dialogfeld Beziehungen bearbeiten wird geöffnet.

  1. Aktivieren Sie das Kontrollkästchen Mit referenzieller Integrität.
  2. Nehmen Sie weitere Änderungen an der Beziehung vor, und klicken Sie dann auf OK.

Nach dem Erzwingen der referenziellen Integrität gelten die folgenden Regeln:

  • In das Fremdschlüsselfeld einer zugeordneten Tabelle kann kein Wert eingegeben werden, wenn der Wert nicht im Primärschlüsselfeld der Primärtabelle vorhanden ist. Wenn dies möglich wäre, würden verwaiste Datensätze entstehen. 
  • Ein Datensatz kann aus einer Primärtabelle nicht gelöscht werden, wenn in einer zugeordneten Tabelle übereinstimmende Datensätze vorhanden sind. Beispielsweise können Sie einen Datensatz eines Mitarbeiters aus der Personal-Tabelle nicht löschen, wenn diesem Mitarbeiter in der Bestellungen-Tabelle Bestellungen zugeordnet sind. Sie können jedoch einen primären Datensatz und alle verwandten Datensätze in einem Vorgang löschen, indem Sie das Kontrollkästchen Löschweitergabe an verwandte Datensätze aktivieren.
  • Der Wert eines Primärschlüssels in der Primärtabelle kann nicht geändert werden, da ansonsten verwaiste Datensätze entstünden. Beispielsweise können Sie in der Tabelle Bestellungen eine Bestellnummer nicht ändern, wenn in der Tabelle Bestelldetails dieser Bestellung Einzelposten zugewiesen sind. Sie können jedoch einen primären Datensatz und alle verwandten Datensätze in einem Vorgang aktualisieren, indem Sie das Kontrollkästchen Aktualisierungsweitergabe an verwandte Felder aktivieren.

 Hinweise 

Beachten Sie beim Auftreten von Problemen beim Aktivieren der referenziellen Integrität, dass die folgenden Bedingungen erfüllt sein müssen, um die referenzielle Integrität zu erzwingen:

  • Das gemeinsame Feld in der Primärtabelle muss ein Primärschlüssel sein oder einen eindeutigen Index aufweisen.
  • Die gemeinsamen Felder müssen denselben Datentyp aufweisen. Die einzige Ausnahme stellt das Feld AutoWert dar, das mit einem Feld vom Typ Zahl verknüpft werden kann, bei dem für die Eigenschaft Feldgröße der Wert Lange ganze Zahl festgelegt wurde.
  • Beide Tabellen müssen in derselben Access-Datenbank vorhanden sein. Referenzielle Integrität kann für verknüpfte Tabellen nicht erzwungen werden. Wenn die Quelltabellen jedoch im Access-Format gespeichert sind, können Sie die Datenbank öffnen, in der die Tabellen gespeichert sind, und die referenzielle Integrität in dieser Datenbank aktivieren.

Festlegen der Weitergabeoptionen

Es können Situationen vorkommen, in denen Sie den Wert auf der 1-Seite einer Beziehung ändern müssen. In einem solchen Fall muss Access alle betroffenen Zeilen in einem Vorgang automatisch aktualisieren. Auf diese Weise wird die Aktualisierung vollständig abgeschlossen, sodass die Datenbank nicht inkonsistent wird, d. h. dass nicht einige Daten aktualisiert werden und andere nicht. Access hilft Ihnen mit der Option Aktualisierungsweitergabe an verwandte Felder, dieses Problem zu vermeiden. 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.

Möglicherweise müssen Sie auch eine Zeile und alle verwandten Datensätze löschen, z. B. einen Datensatz vom Typ Versandfirma und alle zu dieser Versandfirma gehörenden Bestellungen. Hierfür unterstützt Access die Option Löschweitergabe an verwandte Datensätze. Wenn Sie die referenzielle Integrität erzwingen und die Option Löschweitergabe an verwandte Datensätze auswählen, löscht Access beim Löschen des Primärschlüssels automatisch alle Datensätze, die auf den Primärschlüssel verweisen, sobald Sie den Datensatz löschen, der den Primärschlüssel enthält.

Aktivieren oder Deaktivieren der Aktualisierungs- und/oder Löschweitergabe

  1. Klicken Sie im Fenster Beziehungen auf die Beziehungslinie der Beziehung, die Sie ändern möchten. Wenn die Beziehungslinie markiert ist, wird sie dicker angezeigt.
  2. Doppelklicken Sie auf die Beziehungslinie.

Das Dialogfeld Beziehungen bearbeiten wird geöffnet.

  1. Aktivieren Sie das Kontrollkästchen Mit referenzieller Integrität.
  2. Aktivieren Sie entweder das Kontrollkästchen Aktualisierungsweitergabe an verwandte Felder oder das Kontrollkästchen Löschweitergabe an verwandte Datensätze oder beide Kontrollkästchen.
  3. Nehmen Sie weitere Änderungen an der Beziehung vor, und klicken Sie dann auf OK.

 Hinweis   Wenn es sich bei dem Primärschlüssel um ein Feld vom Typ AutoWert handelt, hat das Aktivieren des Kontrollkästchens Verknüpfte Felder mit CASCADE aktualisieren keine Auswirkung, da der Wert im AutoWert-Feld nicht geändert werden kann.

Seitenanfang Seitenanfang

 
 
Zutreffend für:
Access 2010