Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

M:N Beziehung Verknüpfungstabelle

Begonnen von malibum, November 18, 2016, 12:26:38

⏪ vorheriges - nächstes ⏩

malibum

Hallo ich bin's wiedermal,

Thema: m:n Beziehungen.

Eine m:n Beziehung setzt sich ja mit Hilfe einer Verknüpfungstabelle aus zwei 1:n Beziehungen zusammen. Ich denke ich habe gerade ein grundlegendes Verständnissproblem was den Inhalt dieser Verknüpfungstabelle anbetrifft.

In meinem Beispiel handelt es sich bei Tabelle A um eine Produkttabelle und bei Tabelle B um eine Zubehörtabelle. Alle Zubehörteile sind für jedes Produkt verfügbar und umgekehrt. Bei beiden Tabelle gibt es für jedes Produkt und Zubehör eine eindeutige ID, auf dieser ID liegt auch jeweils der Primärschlüssel. Diese beiden Primärschlüssel kommen in die Verknüpfungstabelle. Auf die Vergabe der Datentypen habe ich geachtet, da ja in der Verknüpfungstabelle nicht zweimal der gleiche Datentyp vorkommen darf. Access hat auch kein Problem mit meiner Beziehung die ich erstellt habe, und ich bin auch sehr sicher, dass ich diese richtig erstellt habe.

Muss ich Daten in die Verknüpfungstabelle eintragen? Ich selber würde sagen nein, da die ID's von beiden Tabellen jeweils kombiniert werden.

Von welchem Punkt aus erstelle ich nun allgemein die Abfragen?

Lg
Malibum

crystal

#1
Hallo Malibum,

zunächst mal eine Frage, was meinst du hier:

ZitatAuf die Vergabe der Datentypen habe ich geachtet, da ja in der Verknüpfungstabelle nicht zweimal der gleiche Datentyp vorkommen darf.

Und weiter: du hast zwei Tabellen, P und Z, die sehen quasi so aus:

P  Z
a  z1
a  z2
b  z1
...

Wie unterscheidest du nun die Datensätze im obigen Beispiel? Mit einem zusätzlichen Primärschlüssel (PK, Autowert), obwohl es eigentlich auch ohne gehen würde - aber mit PK ist es vielleicht einfacher zu verstehen.

PK  P  Z
01  a  z1
02  a  z2
03  b  z1
...

ZitatMuss ich Daten in die Verknüpfungstabelle eintragen? Ich selber würde sagen nein, da die ID's von beiden Tabellen jeweils kombiniert werden.

Ich würde sagen ja, wie soll Access sonst wissen, dass zu Produkt b Zübehör z1 gehört.

Wenn du nun eine Abfrage erstellen willst, holst du zunächst einmal alle 3 Tabellen in das Abfrage-Entwurfs-Fenster und definierst die Beziehungen, falls noch nicht unter Datenbank-Beziehungen gemacht, was man eigentlich immer tun soll.

Dann wählst du die Felder aus beiden "Haupt-Tabellen" aus, die du haben möchtest. Die n:m-Tabelle kannst du dabei völlig ignorieren, es stehen ja auch "keine" Daten drin, sondern nur Verweise auf die betreffenden Haupt-Tabellen.

lg
crystal

Nachtrag:

Du schreibst hier (wie auch in einer anderen Frage):

ZitatAlle Zubehörteile sind für jedes Produkt verfügbar und umgekehrt.

Dazu brauchst du eigentlich keine Extra-Zubehörtabelle, die sich auf jedes Produkt bezieht.

Es ist für mich etwas schwierig, mit vorzustellen, dass x Produkte ALLE die gleichen Zubehör- (oder Ersatzteil-)Pakete haben.

Ein Produkt "Luftballon" müsste doch anderes Zubehör haben als ein Produkt "Fahrrad". Vielleicht kannst du das etwas näher erläutern. Wenn du damit meinst, dass es für jedes Produkt als Zubehör eine "Bedienungs-Anleitung" und ein "Datenblatt" gibt, und du z.B. beim Versand nur prüfen möchtest, ob beide Zubehörteile vorhanden sind (inkl. der kleinen Tüte Gummibärchen), gibt es andere Lösungen.

Ansonsten wäre es ja durchaus auch wichtig, zwischen einer Bedienungs-Anleitung für "Luftballon" und einer für "Fahrrad" unterscheiden zu können, denn es macht wenig Sinn, die "Luftballon"-Bedienungs-Anleitung dem "Fahrrad" mitzugeben.

Vielleicht kannst du hier etwas mehr Details schildern, damit man dir vielleicht auch ganz anders helfen kann.

lg
crystal
Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...

ebs17

In die Verknüpfungstabelle kommen zwingend die Kombinationen aus Produkt und Zubehör bzw. besser aus deren Primärschlüsseln als Fremdschlüssel. Zusätzliche Daten können durchaus Sinn machen, z.B. eine zeitliche Gültigkeit der Kombination.
Mit freundlichem Glück Auf!

Eberhard

malibum

Hallo,

vielen Dank für die Antworten, Dank crystal's ausführlicher Beschreibung habe ich es geschnakelt !  :)

Schönes Wochenende :)