ACC2000: Definieren von Beziehungen zwischen Tabellen in einer Microsoft Access-Datenbank

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 304467 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Anfänger: Erfordert Kenntnisse der Benutzeroberfläche auf Einzelplatzrechnern.

Dieser Artikel bezieht sich ausschließlich auf eine Microsoft Access-Datenbank (.mdb).

Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt die Beziehungen in einer Microsoft Access-Datenbank zu definieren. Es enthält die folgenden Themen:
  • Was sind Tabellenbeziehungen
  • Typen von Tabellenbeziehungen
    • Eine-to-Many Beziehungen
    • N-N-Beziehungen
    • One-To-One Beziehungen

  • So definieren Sie Beziehungen zwischen Tabellen
    • So definieren Sie eine 1-N oder One-To-One-Beziehungen
    • So definieren Sie eine N-to-Many Beziehungen

  • Referenzielle Integrität
  • Cascading Aktualisierungen und Löschvorgänge
  • Beitreten von Typen

Weitere Informationen

Was sind Tabellenbeziehungen

In einer relationalen Datenbank können Sie Beziehungen redundante Daten verhindern. Angenommen, wenn Sie eine Datenbank, die Informationen über Bücher verfolgt entwerfen, Sie haben eine Tabelle namens Titles, Informationen über jedes Buch, wie z. B. das Buch gespeichert? s Titel, Veröffentlichungsdatum und Verlag. Es gibt auch Informationen, die möglicherweise über den Herausgeber, wie z. B. Telefonnummer des Herausgebers, Adresse und Postleitzahl gespeichert werden sollen. Wenn Sie alle diese Informationen in den Titeln speichern Tabelle den Herausgeber? s Telefonnummer würde für jeden Titel, der des Herausgebers dupliziert werden.

Eine bessere Lösung ist, die Informationen zum Herausgeber nur einmal in einer separaten Tabelle Publishers speichern. Dann legen Sie in der Tabelle Titles einen Zeiger ab, die einen Eintrag in der Tabelle Publishers verweist.

Um sicherzustellen, dass Ihre Daten nicht synchronisiert ist, können Sie zwischen den Tabellen Titel und Verleger referenzielle Integrität erzwingen. Referenzielle Integrität Beziehungen können Sie sicherstellen, dass Informationen in einer Tabelle mit Informationen in einem anderen entspricht. Beispielsweise muss jeder Titel in der Tabelle Titles einem bestimmten Verlag in der Tabelle Publishers zugeordnet sein. Ein Titel kann nicht in der Datenbank für einen Verleger hinzugefügt werden, die nicht in der Datenbank vorhanden ist.

Typen von Tabellenbeziehungen

Eine Beziehung funktioniert durch übereinstimmende Daten in Schlüsselspalten, üblicherweise Spalten mit demselben Namen in beiden Tabellen. In den meisten Fällen wird für die Tabellenbeziehung des Primärschlüssel einer Tabelle, die einen eindeutigen Bezeichner für jede Zeile mit einem Eintrag im Fremdschlüssel der anderen Tabelle enthält. Verkauf können z. B. mit der bestimmten Verlegern verkauften Stückzahlen eine Beziehung zwischen der Spalte Title_id in der Tabelle Titles (dem Primärschlüssel) und der Spalte Title_id in der Tabelle Sales (dem Fremdschlüssel) erstellt verknüpft werden.

Es gibt drei Arten von Beziehungen zwischen Tabellen. Die Art der Beziehung, die erstellt wird, hängt davon ab wie die verknüpften Spalten definiert sind.

Eine-to-Many Beziehungen

Eine 1: n-Beziehung ist die häufigste Art der Beziehung. In dieser Art von Beziehung, eine Zeile in Tabelle A können viele übereinstimmende Zeilen in Tabelle B, aber eine Zeile in Tabelle B kann nur eine übereinstimmende Zeile in Tabelle a. Beispielsweise die Tabellen Publishers und Titles haben eine 1: n Beziehung: jeder Herausgeber veröffentlicht eine Vielzahl von Titeln, aber jeder Titel stammt nur von einem Verleger.

Eine 1: n-Beziehung wird erstellt, wenn nur eine der verknüpften Spalten ein Primärschlüssel oder eine eindeutige Einschränkung hat.

In Access wird die Primärschlüsselseite einer 1: n-Beziehung durch ein Schlüsselsymbol gekennzeichnet. Die Fremdschlüsselseite einer Beziehung wird durch ein Unendlichkeitssymbol gekennzeichnet.

N-N-Beziehungen

In einer viele-zu-viele-Beziehung kann eine Zeile in Tabelle A viele übereinstimmende Zeilen in Tabelle B aufweisen und umgekehrt. Sie erstellen eine solche Beziehung, indem definieren eine dritte Tabelle, so genannte eine kreuzverknüpfte Tabelle, deren Primärschlüssel aus den Fremdschlüsseln sowohl von Tabelle A als auch von Tabelle b besteht. Beispielsweise können die Autoren-Tabellen und der Tabelle Titles eine viele-zu-viele-Beziehung, die durch eine 1: n-Beziehung jeder dieser Tabellen zur Tabelle titleauthor definiert ist. Der Primärschlüssel der Tabelle TitleAuthors ist eine Kombination der Spalte Au_id (der Tabelle Authors? s Primärschlüssel) und der Spalte Title_id (der Tabelle Titles? s Primärschlüssel).

One-To-One Beziehungen

In einer 1: 1-Beziehung kann eine Zeile in Tabelle A nicht mehr als eine übereinstimmende Zeile in Tabelle B besitzen und umgekehrt. Eine 1: 1-Beziehung wird erstellt, wenn beide verknüpften Spalten Primärschlüssel sind oder unique-Einschränkungen haben.

Diese Art von Beziehung ist nicht häufig, da die meisten Informationen auf diese Weise alle in einer Tabelle befinden würden. Sie können eine 1: 1-Beziehung verwenden:
  • Teilt eine Tabelle mit vielen Spalten.
  • Isolieren Sie Teil einer Tabelle aus Sicherheitsgründen.
  • Speichern Sie Daten, die kurzlebig und konnte durch einfaches Löschen der Tabelle leicht gelöscht werden.
  • Speichern Sie Informationen, die nur für eine Untermenge der Haupttabelle gelten.
In Access wird die Primärschlüsselseite einer 1: 1-Beziehung durch ein Schlüsselsymbol gekennzeichnet. Die Fremdschlüsselseite wird ebenfalls durch ein Schlüsselsymbol gekennzeichnet.

So definieren Sie Beziehungen zwischen Tabellen

Wenn Sie eine Beziehung zwischen Tabellen erstellen, müssen die verbundenen Felder nicht denselben Namen haben. Verbundene Felder müssen jedoch denselben Datentyp, wenn das primäre Schlüsselfeld ein AutoWert-Feld haben. Sie können ein AutoWert-Feld ein Zahl-Feld vergleichen, nur wenn die Eigenschaft Feldgröße beider übereinstimmenden Felder identisch ist. Sie können z. B. AutoWert und ein Feld Zahl zuordnen, wenn die Feldgröße -Eigenschaft beider Felder vom Typ Long Integer ist. Auch wenn beide übereinstimmenden Felder Nummernfelder sind, müssen Sie dieselbe Einstellung für die Feldgröße -Eigenschaft verfügen.

So definieren Sie eine 1-N oder One-To-One-Beziehungen

So erstellen Sie eine-n- oder einer 1: 1-Beziehung folgendermaßen:
  1. Schließen Sie alle Tabellen, die geöffnet ist. Sie können nicht erstellen oder Ändern von Beziehungen zwischen geöffneten Tabellen.
  2. Drücken Sie F11, um zum Datenbankfenster zu wechseln.
  3. Klicken Sie im Menü Extras auf Beziehungen .
  4. Wenn noch keine Beziehungen in Ihrer Datenbank definiert haben, wird im Dialogfeld Tabelle anzeigen automatisch angezeigt. Wenn die Tabellen hinzufügen, die Sie verknüpfen möchten, jedoch im Dialogfeld Tabelle anzeigen nicht angezeigt werden soll, klicken Sie auf das Menü Beziehungen auf Tabelle anzeigen .
  5. Doppelklicken Sie auf die Namen der Tabellen, die Sie verknüpfen möchten, und schließen Sie das Dialogfeld Tabelle anzeigen . Eine Beziehung zwischen einer Tabelle und sich selbst erstellen, fügen Sie die Tabelle zweimal hinzu.
  6. Ziehen Sie das Feld, das aus einer Tabelle auf das zugehörige Feld in der anderen Tabelle verknüpfen möchten. Um mehrere Felder ziehen, drücken Sie STRG, klicken Sie auf jedes Feld, und ziehen Sie Sie.

    In den meisten Fällen ziehen Sie das Primärschlüsselfeld (das in fettgesetztem Text angezeigt wird) aus einer Tabelle zu einem ähnlichen Feld (oft mit demselben Namen) als Fremdschlüssel bezeichnet wird, in der anderen Tabelle.
  7. Das Dialogfeld Beziehungen bearbeiten wird angezeigt. Stellen Sie sicher, dass die in den beiden Spalten angezeigten Feldnamen richtig sind. Sie können bei Bedarf ändern.

    Legen Sie ggf. die Beziehung Optionen fest. Wenn Sie Informationen zu einem bestimmten Element im Dialogfeld Beziehungen bearbeiten , klicken Sie auf die Fragezeichenschaltfläche, und klicken Sie auf das Element. Diese Optionen werden weiter unten in diesem Artikel ausführlich erläutert.
  8. Klicken Sie auf Erstellen , um die Beziehung zu erstellen.
  9. Wiederholen Sie die Schritte 5 bis 8 für jedes Paar von Tabellen, die Sie verknüpfen möchten.

    Wenn Sie das Dialogfeld Beziehungen bearbeiten zu schließen, fordert Microsoft Access Wenn Sie das Layout speichern möchten. Ob Sie das Layout speichern, werden die Beziehungen, die Sie erstellen in der Datenbank gespeichert.

    Hinweis: Sie können in Abfragen ebenso wie Tabellen Beziehungen erstellen. Referenzieller Integrität wird jedoch mit Abfragen nicht erzwungen.

So definieren Sie eine N-to-Many Beziehungen

Gehen Sie folgendermaßen vor um eine n: n-Beziehung zu erstellen:
  1. Erstellen Sie die zwei Tabellen, die eine viele-zu-viele-Beziehung haben werden.
  2. Erstellen Sie eine dritte Tabelle, eine so genannte Zuordnungstabelle, und dann die kreuzverknüpfte Tabelle neue Felder mit denselben Definitionen wie die Primärschlüsselfelder aus den zwei Tabellen hinzufügen. In der Zuordnungstabelle funktionieren die Primärschlüsselfelder als Fremdschlüssel. Sie können der Verknüpfungstabelle andere Felder hinzugefügt haben genau wie jeder anderen Tabelle.
  3. Setzen Sie den primären Schlüssel die Primärschlüsselfelder aus den beiden Tabellen enthalten, in der Zuordnungstabelle. Beispielsweise würde in einer Verknüpfungstabelle TitleAuthors der Primärschlüssel der Felder OrderID und ProductID bestehen.

    Hinweis : um einen Primärschlüssel zu erstellen, gehen Sie folgendermaßen vor:
    1. Öffnen Sie eine Tabelle in der Entwurfsansicht.
    2. Markieren Sie das Feld bzw. die Felder, die Sie als Primärschlüssel definieren möchten. Um ein Feld zu markieren, klicken Sie auf den Zeilenmarkierer des gewünschten Feldes.

      Um mehrere Felder zu markieren, halten Sie die STRG-TASTE, und klicken Sie dann auf den Zeilenmarkierer für jedes Feld.
    3. Klicken Sie auf der Symbolleiste auf Primärschlüssel .

      Hinweis: Wenn die Reihenfolge der Felder in einem mehr-Felder-Primärschlüssel aus der Bestellung die Felder in der Tabelle identisch sein werden soll, klicken Sie auf der Symbolleiste auf das Dialogfeld Indizes anzuzeigen, und sortieren dann die Feldnamen für den Index mit dem Namen Primärschlüssel auf Indizes .
  4. Definieren Sie eine 1: n-Beziehung zwischen jeder der zwei Primärtabellen und der Verknüpfungstabelle.

Referenzielle Integrität

Referenzieller Integrität ist ein System von Regeln, dass Microsoft Access sicherstellt, dass Beziehungen zwischen Datensätzen in verknüpften Tabellen gültig sind, und, dass Sie nicht versehentlich löschen oder Ändern von verwandte Daten. Sie können referenziellen Integrität festlegen, wenn alle der folgenden Bedingungen erfüllt sind:
  • Das übereinstimmende Feld aus der Primärtabelle ist ein Primärschlüssel oder hat einen eindeutigen Index.
  • Die verwandten Felder weisen denselben Datentyp. Es gibt zwei Ausnahmen. AutoWert-Feld kann auf ein Zahl-Feld dessen Feldgröße -Eigenschaft die Einstellung Long Integer beziehen werden, und ein AutoWert-Feld dessen Feldgröße -Eigenschaft die Einstellung Replikations-ID kann im Zusammenhang mit einem Zahl-Feld mit dessen Feldgröße -Eigenschaft die Einstellung Replikations-IDs.
  • Beide Tabellen gehören zu derselben Microsoft Access-Datenbank. Wenn die verknüpfte Tabellen handelt, müssen Sie die Tabellen in Microsoft Access-Format sein und Sie müssen die Datenbank in der Sie referenzielle Integrität festlegen gespeichert öffnen. Referenzieller Integrität kann nicht für verknüpfte Tabellen aus Datenbanken in anderen Formaten erzwungen werden.
Die folgenden Regeln gelten, wenn Sie referenziellen Integrität verwenden:

  • Sie können nicht in das Fremdschlüsselfeld der verknüpften Tabelle einen Wert eingeben, die nicht im Primärschlüssel der Primärtabelle vorhanden ist. Jedoch können Sie eingeben einen Nullwert im Fremdschlüssel, angeben, dass Datensätze unabhängig sind. Z. B. eine Bestellung, die einem Debitor zugeordnet ist, die nicht vorhanden ist, keine haben, dagegen können Ihnen eine Bestellung, die niemand zugewiesen ist, indem Sie einen NULL-Wert in das Feld "CustomerID" eingeben.
  • Sie können keinen Datensatz aus der Primärtabelle löschen, wenn in einer verwandten Tabelle übereinstimmende Datensätze vorhanden sind. Sie können nicht z. B. einen Datensatz eines Mitarbeiters aus der Employees-Tabelle löschen, wenn Bestellungen an den Mitarbeiter in der Tabelle Bestellungen zugeordnet sind.
  • Sie können einen Primärschlüsselwert in der Primärtabelle nicht ändern, wenn diesem Datensatz verwandte Datensätze verfügt. Sie können nicht beispielsweise PERSONALNUMMER eines Mitarbeiters in der Tabelle Personal ändern, wenn die Mitarbeiter in der Tabelle Bestellungen Bestellungen zugeordnet sind.

Cascading Aktualisierungen und Löschvorgänge

Für Beziehungen, in denen referenzieller Integrität durchgesetzt wird, können Sie angeben, ob Sie Microsoft Access automatisch Update überlappend oder Löschweitergabe an verwandte Datensätze. Wenn Sie diese Optionen festlegen, löschen Sie und Aktualisierungsoperationen Sie, die normalerweise von referenzieller Integrität verhindert würden Regeln zulässig sind. Wenn Sie Datensätze löschen oder Primärschlüsselwerte in einer Mastertabelle ändern, legt Microsoft Access die erforderlichen Änderungen an verknüpfte Tabellen um referenziellen Integrität zu wahren.

Wenn Sie das Kontrollkästchen Aktualisierungsweitergabe an verwandte Felder aktivieren, wenn Sie eine Beziehung definieren, aktualisiert Microsoft Access bei jeder Änderung den Primärschlüssel einen Datensatz in der Mastertabelle automatisch den Primärschlüssel auf den neuen Wert in alle verknüpften Datensätze. Z. B. Wenn Sie in der Customers-Tabelle eine KUNDENNUMMER ändern, wird das CustomerID-Feld in der Tabelle Bestellungen automatisch für alle Bestellungen dieses Kunden aktualisiert, sodass die Beziehung nicht beschädigt ist. Microsoft Access gibt Aktualisierungen ohne jede Nachricht weiter.

Hinweis: Wenn der Primärschlüssel in der Primärtabelle ein AutoWert-Feld ist, müssen Aktivieren des Kontrollkästchens Aktualisierungsweitergabe an verwandte Felder keine Auswirkung, da Sie den Wert in einem AutoWert-Feld nicht ändern können.

Wenn Sie beim Definieren einer Beziehung das Kontrollkästchen Löschweitergabe an verwandte Datensätze auswählen, löscht Microsoft Access bei jedem Löschen von Datensätzen in der Mastertabelle automatisch die verwandten Datensätze in der verwandten Tabelle. Wenn Sie einen Kundendatensatz aus der Customers-Tabelle löschen, werden alle Bestellungen dieses Kunden beispielsweise automatisch aus der Tabelle Bestellungen gelöscht (Dies schließt Datensätze in der Tabelle Bestelldetails im Zusammenhang mit der Orders-Datensätze). Wenn Sie Datensätze aus einem Formular oder Datenblatt und das Kontrollkästchen Löschweitergabe an verwandte Datensätze aktiviert ist löschen, gibt Microsoft Access die Warnung aus, dass verwandte Datensätze ebenfalls gelöscht werden können. Jedoch, wenn Sie Datensätze mithilfe einer Löschabfrage löschen, löscht Microsoft Access automatisch die Datensätze in verknüpften Tabellen ohne eine Warnung.

Beitreten von Typen

Es sind drei Verknüpfungstypen:

Option 1 definiert eine Exklusionsverknüpfung. Eine innere Verknüpfung ist eine Verknüpfung, in dem Datensätze aus zwei Tabellen in Ergebnissen einer Abfrage kombiniert werden, nur, wenn Werte in der verknüpften Felder eine angegebene Bedingung erfüllen. In einer Abfrage wird als Standardverknüpfung eine innere Verknüpfung, die Datensätze, auswählt nur wenn die Werte in den verknüpften Feldern übereinstimmen.

Option 2 definiert eine linke äußere Verknüpfung. Eine linke äußere Verknüpfung ist eine Verknüpfung in der alle Datensätze von der linken Seite der LEFT JOIN-Operation in SQL-Anweisung der Abfrage zu den Abfrageergebnissen hinzugefügt werden, selbst wenn Sie keine übereinstimmenden Werte im verknüpften Feld aus der Tabelle auf der rechten Seite.

Option 3 definiert eine Rechts-Inklusionsverknüpfung. Eine rechte äußere Verknüpfung ist eine Verknüpfung in der alle Datensätze von der rechten Seite der RIGHT JOIN-Operation in SQL-Anweisung der Abfrage zu den Abfrageergebnissen hinzugefügt werden, selbst wenn keine übereinstimmenden Werte im verknüpften Feld aus der Tabelle auf der linken Seite vorhanden sind.

Informationsquellen

Weitere Informationen zu Beziehungen in Microsoft Access finden Sie im Thema "Erstellen und Entwerfen von Tabellen" auf der Microsoft Access 2000-Hilfe-Seite die folgende Microsoft-Website:
Microsoft Access 2000 Help
Weitere Informationen zu Beziehungen in Microsoft Access klicken Sie auf das Menü Hilfe auf Microsoft Access-Hilfe , geben Sie Erstellen oder Bearbeiten von Beziehungen in den Office- oder Antwort-Assistenten und anschließend auf Suchen klicken, um die zurückgegebenen Themen anzuzeigen.

Eigenschaften

Artikel-ID: 304467 - Geändert am: Dienstag, 29. Juni 2004 - Version: 2.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Access 2000 Standard Edition
Keywords: 
kbmt kbhowto KB304467 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 304467
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com