Yahoo Clever wird am 4. Mai 2021 (Eastern Time, Zeitzone US-Ostküste) eingestellt. Ab dem 20. April 2021 (Eastern Time) ist die Website von Yahoo Clever nur noch im reinen Lesemodus verfügbar. Andere Yahoo Produkte oder Dienste oder Ihr Yahoo Account sind von diesen Änderungen nicht betroffen. Auf dieser Hilfeseite finden Sie weitere Informationen zur Einstellung von Yahoo Clever und dazu, wie Sie Ihre Daten herunterladen.
Datenbanken Relationen wo liegt mein Fehler?
Ich bin gerade dabei eine Datenbank zu erstellen.
Jedoch möchte ich zwischen Objekt und Makler eine m zu n Beziehung. Die ist ja auch möglich, da 1objekt von mehreren Maklern vertrieben werden kann und 1 Makler mehrere Objekte hat.
Doch wie bekomme ich das hier hin?
4 Antworten
- DannyLv 5vor 8 JahrenBeste Antwort
Um eine m:n Beziehung zu realisieren legt man in der Regel eine "Hilfstabelle" an. In deinem Fall wäre das z. B. eine Relation, die sowohl die Markler- als auch die Objekt ID beinhaltet.
Markler A -> Objekt A
Markler A -> Objekt B
Markler B -> Objekt A
usw.
- Renate K.O.Lv 4vor 8 Jahren
Du hast eine Tabelle "makler" und du hast eine Tabelle "objekte". Das reicht nicht aus. Du brauchst eine weitere Tabelle "verkauf" mit den Spalten "makler" und "objekt". Mit dieser zusätzlichen Tabelle vermeidest du unnötige Redundanzen in den Tabellen "makler" und "objekt".
Sobald in die Datenbank ein neues Objekt eingestellt wird, landet es mitsamt dem Makler in der Tabelle "verkauf". Diese Tabelle kannst du nun nach dem Makler abfragen (welche Objekte hat ein bestimmter Makler in Bearbeitung?) oder nach dem Objekt (welche Makler versuchen, dieses Objekt zu verkaufen?).
- Anonymvor 8 Jahren
Realitv einfach.
Die Software, die du nutzt, kann keine m:n Beziehung auflösen, folglich musst du etwas nachhelfen:
m:n -> m:1 : n -> m:1 und 1:n als Zwischentabellle einfügen.
z.B. Makler -> Zwischentablle "Maklerobjekt" <- Objekt
Die Zwischentabelle enthält einfach die MMakler_ID und die Objekt_ID
- Anonymvor 8 Jahren
Dazu müsstest du neben den Tabellen für Objekt und Makler eine dritte Tabelle mit Namen "vertreibt" oder so anlegen, die die jeweiligen Primärschlüssel der beiden anderen Tabellen als Fremdschlüssel enthält.
Wie man das ganze in SQL etwa realisiert, krieg ich gerade nicht mehr zusammen, aber danach hast du ja nicht gefragt.