Grundverständniss Beziehungen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Buck_r
*
Beiträge: 16
Registriert: Mi, 13.01.2016 15:12

Grundverständniss Beziehungen

Beitrag von Buck_r »

Hallo zusammen,
ich versuche mehrere Tabellen mit der Beziehung "1 zu viele" zu erstellen.
Aber ich schaffe es nicht über die zweite Tabelle zu kommen und diese zu verknüpfen.
Sie BILD.
Kann mir jemand erklären was ich für einen Fehler mache?

Entstehen soll eine Stückliste.

Z.B. eine
Badewanne__________________________________________________MainForm__________
__________ Wanne ___________________________________________SubForm1__________
__________ Wannenträger______________________________________SubForm1__________
__________ Wannenfüsse______________________________________ SubForm1___________
__________ Abflussset_________________________________________SubForm1___________
____________________ Kusstoffrohr______________________________SubForm2___________
____________________ Kuststoffrohr gebogen______________________SubForm2__________
___________Gummi Dichtungsset_________________________________SubForm1__________
____________________ Dichtung rund____________________________SubForm2__________
_____________________Dichtung eckig___________________________SubForm2__________
_________________________________ Rohmaterial Gummi__________SubForm3__________
___________Schraubenset______________________________________SubForm1__________
______________________Schraube______________________________SubForm2__________
______________________Beilagscheibe__________________________SubForm2__________
______________________Nutter________________________________SubForm2__________
Dateianhänge
Muster.JPG
Muster.JPG (136.18 KiB) 4026 mal betrachtet
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Grundverständniss Beziehungen

Beitrag von RobertG »

Hallo Buck_r,

das liegt schon allein daran, dass Du in den Tabellen lediglich einen klar ersichtlichen Fremdschlüssel hast: "Kunden_ID". Der bezieht sich sicher auf die Tabelle "Kunden", die nicht aufgeführt ist. So könnte zwischen der Tabelle Kunden und jeder dieser Tabelle eine 1:n-Beziehung erstellt werden.

Du versuchst jetzt 3 verschiedene Tabellen an eine Tabelle anzuhängen und hast in jeder der Folgetabellen 2 Primärschlüssel definiert - wozu auch immer.

Dein Ziel ist so etwas wie das Folgende:

Tabelle "Hauptkategorie", Felder "ID" und "Hauptkategorie"
Tabelle "Unterkategorie", Felder "ID", "Unterkategorie" und "Hauptkategorie_ID" (Wobei das letzte Feld mit dem Primärschlüssel von "Hauptkategorie verbunden wird)
Tabelle "UnterUnterkategorie", Felder "ID", "UnterUnterkategorie", "Unterkategorie_ID" (Wieder ein Fremdschlüssel, und das bei allen folgenden Tabellen.

Wenn Du diese Tabellen miteinander verbindest, dann hast Du die Reihenfolge wie mit Hauptformular, Unterformular usw.

Wenn Du die Verbindungen geschickt definierst, dann regelst Du auch, wie sich "Unterkategorie" verhält, wenn die dazu passende "Hauptkategorie" gelöscht wird. Du könntest also beim Entfernen eines Datensatzes aus der Hauptkategorie (bei Dir z.B. "Badewanne") radikal auch alle Daten aus den Unterkategorie und UnterUnterkategorien usw. entfernen (Was sollen "Wannenfüße" ohne "Badewanne"?).

Deinen Tabellen fehlt also der Fremdschlüssel. Verbindungen zum Primärschlüssel einer anderen Tabelle dienen bei nur einem Primärschlüssel dazu, 1:1-Verknüpfungen zu erzeugen. Bei 2 Primärschlüsseln wird einer zur einen Tabelle, der andere zur anderen Tabelle verknüpft und erzeugt so eine n:m-Beziehung. Bei Dir gehört aber in "Bestelldaten" eine "Kopfdaten_ID", in "STL1" eine "Bestelldaten_ID" usw.

Gruß

Robert
Antworten