Microsoft Access: Beziehungen zwischen Tabellen erstellen – Ein Schritt-für-Schritt-Tutorial
Hier ist ein ausführliches Tutorial, wie du Beziehungen in Microsoft Access erstellst.
Beziehungen sind das Herzstück jeder relationalen Datenbank. Sie ermöglichen es, Daten aus verschiedenen Tabellen sinnvoll miteinander zu verknüpfen, Redundanzen zu vermeiden und die Datenintegrität zu gewährleisten.
1. Voraussetzungen: Was du vorab benötigst
Bevor du eine Beziehung erstellen kannst, müssen folgende Bedingungen erfüllt sein:
- Zwei Tabellen: Du benötigst eine Master-Tabelle (z. B.
Kunden) und eine Detail-Tabelle (z. B.Bestellungen). - Primärschlüssel: Die Master-Tabelle muss ein eindeutiges Feld haben (z. B.
Kunden-ID). - Fremdschlüssel: In der Detail-Tabelle muss ein Feld existieren, das auf den Primärschlüssel der Master-Tabelle verweist.
- Wichtig: Beide Felder müssen den gleichen Datentyp haben (z. B. beide "Zahl" oder beide "AutoWert/Zahl").
2. Schritt-für-Schritt-Anleitung
Schritt 1: Das Beziehungs-Fenster öffnen
- Öffne deine Microsoft Access-Datenbank.
- Klicke im oberen Menüband auf den Reiter Datenbanktools.
- Wähle in der Gruppe "Beziehungen" das Symbol Beziehungen.
Schritt 2: Tabellen hinzufügen
- Es öffnet sich ein leerer Bereich und meist automatisch das Fenster Tabellen hinzufügen (auf der rechten Seite oder als Pop-up).
- Wähle die Tabellen aus, die du verknüpfen möchtest (z. B.
KundenundBestellungen). - Klicke auf Hinzufügen und schließe danach die Auswahl. Die Tabellen erscheinen nun als kleine Kästchen im Arbeitsbereich.
Schritt 3: Die Verknüpfung erstellen (Drag & Drop)
- Suche in der Master-Tabelle (
Kunden) den Primärschlüssel (oft fett gedruckt oder mit einem Schlüssel-Symbol). - Klicke mit der linken Maustaste auf dieses Feld, halte die Taste gedrückt und ziehe den Cursor auf das entsprechende Fremdschlüssel-Feld in der zweiten Tabelle (
Bestellungen). - Lasse die Maustaste los.
Schritt 4: Beziehungen bearbeiten & Integrität festlegen
Es öffnet sich das Fenster Beziehungen bearbeiten. Hier triffst du wichtige Entscheidungen:
- Referenzielle Integrität erzwingen: Setze hier unbedingt einen Haken. Dies verhindert, dass du z. B. eine Bestellung für einen Kunden anlegst, den es gar nicht gibt.
- Aktualisierungsweitergabe an verwandte Felder: Wenn du die ID in der Master-Tabelle änderst, wird sie automatisch in allen verknüpften Datensätzen geändert.
- Löschweitergabe an verwandte Datensätze: Vorsicht! Wenn du einen Kunden löschst, werden automatisch auch alle seine Bestellungen gelöscht.
- Klicke auf Erstellen.
3. Die Beziehungsarten verstehen
Nach dem Erstellen siehst du eine Linie zwischen den Tabellen. Access erkennt meist automatisch den Typ:
- 1:n (Eins-zu-Viele): Der häufigste Typ. Ein Datensatz in Tabelle A (Kunde) kann vielen Datensätzen in Tabelle B (Bestellungen) zugeordnet sein. An der Linie steht eine
1und ein Unendlich-Zeichen∞. - 1:1 (Eins-zu-Eins): Ein Datensatz in Tabelle A gehört genau zu einem Datensatz in Tabelle B. Kommt selten vor (z. B. zur Aufteilung sehr großer Tabellen).
- m:n (Viele-zu-Viele): Viele Autoren schreiben viele Bücher. Dies lässt sich in Access nur über eine dritte Tabelle (eine sogenannte Verbindungstabelle) lösen.
4. Tipps und Problemlösung
- Tabellen schließen: Du kannst keine Beziehungen erstellen oder ändern, wenn die betroffenen Tabellen noch im Hintergrund in der Datenblattansicht geöffnet sind. Schließe alle Tabellenreiter vorher.
- Fehlermeldung "Datentypen stimmen nicht überein": Überprüfe im Entwurfsmodus beider Tabellen, ob die Felder wirklich den exakt gleichen Typ haben (z. B. Long Integer).
- Vorhandene Daten: Wenn du "Referenzielle Integrität" aktivierst und eine Fehlermeldung erhältst, befinden sich wahrscheinlich schon "Waisen-Datensätze" in deiner Detail-Tabelle (z. B. eine Bestellung mit einer Kunden-ID, die in der Kunden-Tabelle nicht existiert). Diese musst du erst bereinigen.
5. Warum das Ganze?
Sobald die Beziehungen stehen, profitieren deine Abfragen, Formulare und Berichte davon. Access weiß nun automatisch, wie die Daten zusammengehören, und du kannst z. B. in einer Abfrage einfach den Namen des Kunden neben seinen Bestellwert ziehen, ohne manuell suchen zu müssen.