Also:
Dem Argument von Hendrik stime ich vollkommen zu.
Zitat:
Die Frage ist, ob es mehrere Warenkörbe gleichzeitig geben kann.
Dann hat man den Fall, dass mehrere Produkte in einem Warenkorb liegen können (wäre n Produkte : 1 Warenkorb); gleichzeitig können aber mehrere Leute in ihren Warenkörben das gleiche Produkt haben (wäre 1 Produkt : m Warenkörbe) --> ergibt für mich eine n:m-Beziehung.
mfg
Hendrik
Auch die ErLäuterung von user "son_quatsch" finde ich sehr einleuchtend:
Zitat:
Kurz gesagt:
Produkte 1-n : Warenkörbe 0-n
Warenkörbe 0-n : Kunden 1
Vielen Dank für die super Darstellung.
Ich habs dann jetzt wie foglt verstanden:
Je nach Sichtwinkel sehen die Beziehungen dann wohl anders aus, wobei eine n:m Beziehung wohl in diesem Fall das Korrekteste ist, sobald es sich nicht nur um mehrere Produkte sondern auch um mehrere Warenkörbe handelt.
Eines ist mir dennoch noch unklar: (Beiträge von Hendrik und "Disco")
Zitat:
Für mich ist in diesem Beispiel die Tabelle WARENKORB Unsinn.
So wie die hier konstruiert ist, könnte man pro Warenkorb(nummer) nur ein einziges Produkt ablegen.
Hier bräuchte man eine Detailtabelle analog BESTELLTE PRODUKTE.
Dann hätte man eine saubere n:m-Beziehung.
mfg
Hendrik
Ich glaub, dass in diesem Zusammenhang der Autor Kannengiesser den Begriff "WARENKORB" und "Warenkorb_id") irreführend eingesetzt hat . Es soll ja eigentlich nur ein temporales Spiegelabbild von BESTELLTE PRODUKTE sein. Ganz wie Du schon schreibst.
---------------------------------------------
Also, alles in allem zusammengefasst:
Wenn man nun mal von Folgendem ausgeht:
-der "WARENKORB" ist ein Abbild von BESTELLTE PRODUKTE, daher nenne ich das jetzt mal BESTELLTE_PRODUKTE_TEMP
-es sind mehrere "Warenkörbe" zur gleichen Zeit erlaubt
-jede einzelne Bestellung eines Produktes eines Warenkorbs hat eine id und anhand der Session kann festgestellt werden, welche Bestellungen zu einem Warenkorb gehören,
dann könnte man doch folgendes ER-Modell aufstellen oder?:
PRODUKT
-produktnummer (primary key)
-bezeichnung
-preis
BESTELLTE_PRODUKTE_TEMP
-bestelldetailnummer_temp (primary key)
-produktnummer (foreign key)
-mengeeinesartikels
-sessionnummer
BESTELLTE PRODUKTE
-bestelldetailnummer (primary key)
-produktnummer (foreign key)
-mengeeinesartikels
-bestellnummer (foreign key)
BESTELLUNGEN
-bestellnummer (primary key)
-kundennummer (foreign key)
-gesamtbetragallerartikelplusversandkosten
Meine Fragen:--> Wie wäre dann die Beziehung von PRODUKT : BESTELLTE_PRODUKTE_TMP ?Ist es notwendig oder falsch, dass bestelldetailnummer von BESTELLTE PRODUKTE ein primary key ist?Bin mächtig gespannt auf Eure Antworten und hoffe, dass ich mit diesem Thema nicht allzusehr auf den Senkel falle ;-)
Bis gleich
Mel