tables verbinden

Stephan Zesiger

Erfahrenes Mitglied
Hallo db_Cracks.

Hab auf meinem server eine mySQL-DB laufen. Beim Zugriff steht mir phpmyAdmin zur seite. Kann schon wunderbar Daten ablegen und rausholen.

Jetzt hab ich folgenden Plan:

ich möchte in einer db folgende tables anlegen:

Kunden
Produkte
Bestellungen

Sicher ein Klassiker und ihr wisst jetzt sicher auch schon was kommt...

Ich möchte die tables verbinden. Kunde x bestellt Produkt Y 10 mal. und wenn der Preis des Produktes Y (eine Column des table Produkt) ändert, will ich es nur einen eintrag ändrn und nicht 10. Ihr wisst, was ich meine.

Hab jetzt folgende Frage:

a. ist es möglich, dass mir jemand erklärt, wie ich vorgehen muss
b. wenn nein; was ich dazu lernen muss
c. gibt es ein tool (darf auch was kosten), das mir das leben einfacher macht ?


Vielen Dank für jede Hilfe.
Gruss Skyla
 
>a. ist es möglich, dass mir jemand erklärt, wie ich vorgehen muss
ja :)
>b. wenn nein; was ich dazu lernen muss
sql (hier oben im board gibts ein link auf ein buch was recht gut ist)
>c. gibt es ein tool (darf auch was kosten), das mir das leben einfacher macht ?
Jo die denkmurmel *g*
(nee im ernst noch nix vernünftiges gesehen ev. staroffice aber auch nicht wirklich)

-------
also ich schreibe hier nur die minimal version :)
tabelle = felder
kunde = kdid(integer,autoincrement) , kdname(char)
produkt = pid(integer,autoincrement), prname(char), prpreis(decimal 8,2)
bestellung = kid(integer),pid(integer),menge(integer),vkpreis(decimal 8,2),bestellnr(integer),status(integer)


bei einer bestellung holst du dir die kid aus der kundendb und den aktuellen preis + id aus der produktdb
und fügst das in die bestelldb ein
die bestelldb ist also über die id mit den andern dbs jeweils verküpft
jeden kunden und produkt gibt es ja nur einmal nur in der bestelldb kann es zu mehreren zeilen kommen.

das feld bestellnr wird gebraucht um auch mehrere bestellungen von einem kunden auseinander zu halten und den status letztlich um zu steuern was mit dem vorgang ist (bestellt,verschickt,bezahlt usw...)

so in der richtung würde ich das aufziehen

:)

Nachtrag:
man könnte noch darüber nachdenken die bestelldb in zwei tabellen aufzuteilen

bestellung = bid(integer,autoincrement),kdid(integer),status(integer),wann(date)
bestzeile = bid(integer),prid(integer),prname(char),menge(integer),preis(decimal 8,2)

so hast du auch pro bestellung nur eine zeile und die einzeln zeilen der bestellung (den warenkorb) haste in einer eigen db
kommt darauf an wieviel infos du noch zu der einzelen bestellung sichern möchtes ....
 
Zuletzt bearbeitet:
Hi melmager

ertmals vielen Dank. Muss mir jetzt mal einen plan zurechtlegen. das ganze geht soll mit flash als interface und coldfusion als backend von statten gehen. wird aber nur so ein dummy-webshop.

die ganze logik wird aber vom script (cf) getragen. gar nicht so einfach.

wie setz ich denn zb die kid in den table 'orders' ein ?


gruss und vielen dank
skyla
 

Neue Beiträge

Zurück