Toon posts:

[MySQL] Database-model / Normalisaren*

Pagina: 1
Acties:
  • 103 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
hallo allemaal. Ik ben een database aan het ontwerpen zodat een klant pizza's kan bestellen.

dit is wat ik tot nu toe heb:

BESTELLING
Bestelnr
Klantnr
Pizzanr


PIZZA
Pizzanr
Pizzanaam
Pizzaprijs
Pizzatype (small/medium/large)

KLANT
Klantnr
Klantnaam
Klantachternaam
Klantpostcode
Klantemail
Klanttelefoonnummer
Klantwoonplaats
Klantadres


nu kan een klant een pizza bestellen, maar ik wil dat een klant bij elke pizza die hij besteld, 3 extra toppings kan bestellen.
Maar als ik bij PIZZA bijv. topping doe, kan er maar 1 topping gekozen worden.
hoe kan ik ervoor zorgen dat er meerdere toppings per pizza gekozen kunnen worden?

bij voorbaat dank

Mukker

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:10
Een extra tabel 'toppings' maken, die een relatie heeft met bestelling. Per topping voor een bestelde pizza maak je dan een record in die tabel.

https://fgheysels.github.io/


Verwijderd

Topicstarter
maar dan kan je toch nog steeds maar 1 topping per pizza kiezen? of zie ik dat verkeerd :?

  • Eskimootje
  • Registratie: Maart 2002
  • Laatst online: 16:53
Er klopt zoiezo nog niet veel van je tabellen als een klant nou meerdere pizza's wil. Hoe doe je dat?

Verwijderd

Topicstarter
Eskimootje schreef op 13 november 2003 @ 10:40:
Er klopt zoiezo nog niet veel van je tabellen als een klant nou meerdere pizza's wil. Hoe doe je dat?
ja, dat was dus mijn volgende vraag :P

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:10
Verwijderd schreef op 13 november 2003 @ 10:40:
maar dan kan je toch nog steeds maar 1 topping per pizza kiezen? of zie ik dat verkeerd :?
Nee, je kan meerdere records hebben in die tabel 'toppings' per bestelling.
Daarnaast is de opmerking van Eskimootje ook iets waar je eens zult moeten naar kijken.
Je zult die tabel 'Bestelling' nog verder moeten uitwerken, tot je uiteindelijk een tabel 'Bestelling' en een tabel 'Bestelregel' oid hebt. Je tabel 'toppings' link je dan met de tabel bestelregel.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:10
Ik denk trouwens, dat je deze link (en eventueel nog andere die over het zelfde onderwerp handelen) zult moeten doornemen.

https://fgheysels.github.io/


  • Eskimootje
  • Registratie: Maart 2002
  • Laatst online: 16:53
En je wilt dus dat wij even je database maken? Ik vraag me echt af hoe aan jij aan klanten komt als je zoiets simpels niet eens op kan lossen.
Je kan genoeg boek kopen over databases daarin staan heel veel van dit soort voorbeelden.

Verwijderd

Topicstarter
Eskimootje schreef op 13 november 2003 @ 10:44:
En je wilt dus dat wij even je database maken? Ik vraag me echt af hoe aan jij aan klanten komt als je zoiets simpels niet eens op kan lossen.
Je kan genoeg boek kopen over databases daarin staan heel veel van dit soort voorbeelden.
ik vraag helemaal niet of jullie die database voor mij willen maken

  • SyphOn
  • Registratie: Juni 2001
  • Laatst online: 19-08 19:52
Eerst normaliseren ;)

Even serieus, Je kan het beste als je een klant meerde pizza's wil laten bestellen een tabel [pizzaklant] maken mat daarin pizzanummer,klantnummer En in [pizza] de velden pizzanummer,toppingnr. Dan de tabel [toppings] Met de toppings.

Maar als je eerst gaat normaliseren wordt het wel duidelijk wat ik bedoel.

[ Voor 25% gewijzigd door SyphOn op 13-11-2003 10:47 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:10
Eskimootje schreef op 13 november 2003 @ 10:44:
En je wilt dus dat wij even je database maken? Ik vraag me echt af hoe aan jij aan klanten komt als je zoiets simpels niet eens op kan lossen.
Je kan genoeg boek kopen over databases daarin staan heel veel van dit soort voorbeelden.
Iedereen moet ergens beginnen, al doende leert men. ;)

Verder ontopic nu plz.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:10
SyphOn schreef op 13 november 2003 @ 10:46:
Even serieus, Je kan het beste als je een klant meerde pizza's wil laten bestellen een tabel [pizzaklant] maken mat daarin pizzanummer,klantnummer En in [pizza] de velden pizza,topping.
Dat wil je niet denk ik.
Als je de toppings al aan pizza gaat toewijzen, dan ga je iedere klant met dezelfde topping opzadelen, en dat wil je niet. :)

https://fgheysels.github.io/


  • SyphOn
  • Registratie: Juni 2001
  • Laatst online: 19-08 19:52
whoami schreef op 13 november 2003 @ 10:47:
[...]


Dat wil je niet denk ik.
Als je de toppings al aan pizza gaat toewijzen, dan ga je iedere klant met dezelfde topping opzadelen, en dat wil je niet. :)
Oow sorry dan had ik het verkeerd begrepen ik dacht dat met toppings bedoelt werdt of de soort pizza (kaas, ham of quattro ofsow)

Maar het is dus wat de klant extra kan kiezen boven op de soort pizza als ik het nu goed begrijp?

Maarja dus kan je beter eerst gaan normaliseren. Dan Heb je sowieso een beter overzicht.

Verwijderd

Topicstarter
BESTELLING
Bestelnr
Klantnr
Pizzaregelnr
Toppingnr

BESTELLINGREGEL
Pizzaregelnr
Pizzanr

PIZZA
Pizzanr
Pizzanaam
Pizzaprijs
Pizzatype

KLANT
Klantnr
Klantnaam
Klantachternaam
Klantpostcode
Klantemail
Klanttelefoonnummer
Klantwoonplaats
Klantadres

TOPPING
Toppingnr
toppingnaam

en als ik het zo doe?

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:10
SyphOn schreef op 13 november 2003 @ 10:51:
[...]

Oow sorry dan had ik het verkeerd begrepen ik dacht dat met toppings bedoelt werdt of de soort pizza (kaas, ham of quattro ofsow)

Maar het is dus wat de klant extra kan kiezen boven op de soort pizza als ik het nu goed begrijp?
Dat denk ik toch.
Er staat nl: 'de klant kan 3 extra toppings kiezen.

Als het altijd bij max. 3 zal blijven, dan kan je in de tabel 'bestelregel' natuurlijk nog 3 extra velden opnemen; hetzij topping1, topping2 en topping3. 't Heeft z'n voor- en nadelen.

https://fgheysels.github.io/


Verwijderd

Topicstarter
ja, de klant kan extra toppings bij de reeds bestelde pizza kiezen

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:10
Er zitten dingen in die niet kloppen; zoals de velden toppingnr en pizzaregelnr in de tabel bestelling.
Misschien moet je eerst maar eens die link doornemen die ik je al gegeven heb?

https://fgheysels.github.io/


  • SyphOn
  • Registratie: Juni 2001
  • Laatst online: 19-08 19:52
whoami schreef op 13 november 2003 @ 10:54:
[...]

Dat denk ik toch.
Er staat nl: 'de klant kan 3 extra toppings kiezen.
Het is nog vroeg 8)7
Als het altijd bij max. 3 zal blijven, dan kan je in de tabel 'bestelregel' natuurlijk nog 3 extra velden opnemen; hetzij topping1, topping2 en topping3. 't Heeft z'n voor- en nadelen.
BESTELLING
Bestelnr
Klantnr
Pizzanr
Toppingnr1
Toppingnr2
Toppingnr3


Zou je het dan niet zo doen?

[ Voor 8% gewijzigd door SyphOn op 13-11-2003 10:57 ]


Verwijderd

Topicstarter
SyphOn schreef op 13 november 2003 @ 10:56:
[...]

Het is nog vroeg 8)7


[...]


BESTELLING
Bestelnr
Klantnr
Pizzanr
Toppingnr1
Toppingnr2
Toppingnr3


Zou je het dan niet zo doen?
ja dat wilde ik in eerste instantie doen, maar dan kan er niet gemakkelijk een extra topping bijgeplaatst worden

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:10
Je zult deze tabellen nodig hebben:
klant
pizza
bestelling
bestel_pizza
bestel_pizza_topping
topping

Welke velden in welke tabellen moeten, kan je zelf uitzoeken als je die link hebt doorgenomen

https://fgheysels.github.io/


  • SyphOn
  • Registratie: Juni 2001
  • Laatst online: 19-08 19:52
Verwijderd schreef op 13 november 2003 @ 10:59:
[...]


ja dat wilde ik in eerste instantie doen, maar dan kan er niet gemakkelijk een extra topping bijgeplaatst worden
Nee das waar, is het zeker dat er nog meer dan 3 toppings bij kunnnen?

PS: Kijk ook even hier

Grr: Ik blijf maar editen :P

[ Voor 6% gewijzigd door SyphOn op 13-11-2003 11:02 ]


  • esf
  • Registratie: Juni 2002
  • Laatst online: 11-03 14:06

esf

SyphOn schreef op 13 november 2003 @ 10:56:
[...]

Het is nog vroeg 8)7


[...]


BESTELLING
Bestelnr
Klantnr
Pizzanr
Toppingnr1
Toppingnr2
Toppingnr3


Zou je het dan niet zo doen?
Nee, ik zou de Toppingnr's in de tabel bestellingregel doen, want dan worden de toppings echt met de pizza's die een klant bestelt verbonden.. Anders kan je per totale bestelling drie toppings kiezen en dat is volgens mij niet de bedoeling

The hardest thing in the world to understand is the income tax. - Albert Einstein


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 12-08 16:04

Jaspertje

Max & Milo.. lief

Dus maak je een koppen tabel tussen bestelnr en toppings

dus
BESTELLINGRegel_TOPPING
bestelregelnr
topingnr

edit:

Aangepast ahv esf.. hij had gelijk

[ Voor 21% gewijzigd door Jaspertje op 13-11-2003 11:09 ]


  • SyphOn
  • Registratie: Juni 2001
  • Laatst online: 19-08 19:52
Jaspertje schreef op 13 november 2003 @ 11:02:
Dus maak je een koppen tabel tussen bestelnr en toppings

dus
BESTELLING_TOPPING
bestelnr
topingnr
Klopt dit bedoelde ik zostraks eigenlijk ook
(Ik moet beter namen gaan gebruiken)

  • esf
  • Registratie: Juni 2002
  • Laatst online: 11-03 14:06

esf

Nee nog steeds niet, hij moet met de tabel BESTELLINGREGEL verbonden worden, niet met BESTELLING ;)

Dus:
BESTELLING_TOPPING
pizzaregelnr
topingnr

[ Voor 22% gewijzigd door esf op 13-11-2003 11:07 ]

The hardest thing in the world to understand is the income tax. - Albert Einstein


  • Qwerty-273
  • Registratie: Oktober 2001
  • Laatst online: 12-08 21:25

Qwerty-273

Meukposter

***** ***

Denk er ook aan dat je bestelling een aantal dezelfde pizza's kan bevatten waar op elke een andere topping is gekozen. Dus goed normaliseren.

aparte tabel met klant gegevens - pizzagegevens - extratoppinggegevens

Dan krijg je een tabel waar je een order aan een klant koppelt en datum/tijdstip. Een tabel waar je de order aan order regels koppelt, en dan nog een tabel waar je de order_regels koppelt aan extra toppings ;)

Dit zou een goede opzet zijn. Let er natuurlijk wel op dat je alleen de gegevens opslaat/bijhoudt die intressant zijn ;)

Erzsébet Bathory | Strajk Kobiet | You can lose hope in leaders, but never lose hope in the future.


Verwijderd

Topicstarter
aargh, volgens mij begint dit er op te lijken...

BESTELLING
Bestelnr
Klantnr
Pizzaregelnr
Toppingnr

BESTELLINGTOPPINGNR
pizzaregelnr
topingnr

PIZZAREGEL
Pizzaregelnr
pizzanr

PIZZA
Pizzanr
Pizzanaam
Pizzaprijs
Pizzatype

KLANT
Klantnr
Klantnaam
Klantachternaam
Klantpostcode
Klantemail
Klanttelefoonnummer
Klantwoonplaats
Klantadres

TOPPING
Toppingnr
toppingnaam

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:10
Nope, wat doet pizzaregelnr en toppingnr in de tabel bestelling?

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op 13 november 2003 @ 11:17:
Nope, wat doet pizzaregelnr en toppingnr in de tabel bestelling?
pizzaregelnr moet er toch wel in?

toppingnr is al veranderd had ik over het hoofd gezien

  • Eskimootje
  • Registratie: Maart 2002
  • Laatst online: 16:53
Nee die moet er niet in. Bij de pizzaregel moet je een bestellingnr nemen.

[ Voor 8% gewijzigd door Eskimootje op 13-11-2003 11:30 ]


Verwijderd

Topicstarter
Eskimootje schreef op 13 november 2003 @ 11:25:
Nee die moet er niet in. Bij de pizza's moet je een bestellingnr nemen.
maar dan heb je pizzaregel niet meer nodig toch?

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:10
Verwijderd schreef op 13 november 2003 @ 11:26:
[...]


maar dan heb je pizzaregel niet meer nodig toch?
Toch wel. Eén klant kan nl. meerdere pizza's in 1x bestellen.
Heb je die link nu trouwens al eens doorgenomen?

https://fgheysels.github.io/


  • Eskimootje
  • Registratie: Maart 2002
  • Laatst online: 16:53
Verwijderd schreef op 13 november 2003 @ 11:26:
[...]


maar dan heb je pizzaregel niet meer nodig toch?
Daar moet je hem juist toevoegen.

  • SyphOn
  • Registratie: Juni 2001
  • Laatst online: 19-08 19:52
Neem nu eerst eens die links door en ga dan dat wat in de links staat toepassen op jou gegevens die je hebt van het pizza bedrijf.

Verwijderd

Topicstarter
volgens mij begint het kwartje te vallen...

me dumb you guys smart

kijk es hiernaar:

BESTELLING
Bestelnr
Klantnr

PIZZAREGEL
Bestelnr
Pizzanr
Bestellingtoppingnr

BESTELLINGTOPPINGREGEL
Bestellingtoppingnr
toppingnr

PIZZA
Pizzanr
Pizzanaam
Pizzaprijs
Pizzatype

KLANT
Klantnr
Klantnaam
Klantachternaam
Klantpostcode
Klantemail
Klanttelefoonnummer
Klantwoonplaats
Klantadres

TOPPING
Toppingnr
toppingnaam

  • Eskimootje
  • Registratie: Maart 2002
  • Laatst online: 16:53
Dat gaat wel werken, hou er alleen rekening mee dat het bedrijfstechnisch waarschijnlijk heel fijn is om te weten wanneer een bepaalde bestelling gedaan is. En dat je eventueel een status kan toekennen aan de bestellingen. Je kan nu ook niet teruggaan in de facturen want als je eenmaal een prijs veranderd hebt van een pizza zal deze als je een oude factuur opvraagt niet meer kloppen met het betaalde bedrag.

  • SyphOn
  • Registratie: Juni 2001
  • Laatst online: 19-08 19:52
Even vluchtig gemaakt:
[BESTELLING_KLANT]
Bestelling-nr
Klant-nummer

[BESTELLING]
Bestelling-nr
Bestelling-datum
Pizza-dressing-nr

[KLANT]
Klant-nr
Klant-naam
Klant-achternaam
Klant-postcode
Klant-email
Klant-telefoonnummer
Klant-woonplaats
Klant-adres

[TOPPING]
TOpping-nr
Topping-naam

[PIZZA]
Pizza-nummer
Pizza-naam
Pizza-prijs
Pizza-type

[PIZZA_DRESSING]
Pizza-dressing-nr
Pizza-nr
Dressing-nr

Verwijderd

Topicstarter
Eskimootje schreef op 13 november 2003 @ 11:40:
Dat gaat wel werken, hou er alleen rekening mee dat het bedrijfstechnisch waarschijnlijk heel fijn is om te weten wanneer een bepaalde bestelling gedaan is. En dat je eventueel een status kan toekennen aan de bestellingen. Je kan nu ook niet teruggaan in de facturen want als je eenmaal een prijs veranderd hebt van een pizza zal deze als je een oude factuur opvraagt niet meer kloppen met het betaalde bedrag.
maar als je een prijs wijzigt, dan kloppen de oude records toch nooit? wat je ook doet

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:10
Verwijderd schreef op 13 november 2003 @ 11:41:
[...]


maar als je een prijs wijzigt, dan kloppen de oude records toch nooit? wat je ook doet
Dus, hou je de prijs bij die de klant heeft moeten betalen.

https://fgheysels.github.io/


  • cimbom
  • Registratie: Juni 2001
  • Laatst online: 26-04-2024

cimbom

Just Kidding

Ik had gewoon niks te doen dus even snel gemaakt.
Dit naar aanleiding van tabelnamen Whoami heeft voorgesteld.

BESTELLING
Bestelnr
Klantnr


PIZZATYPE
PizzatypeNr
Naam (small/medium/large)


PIZZA
Pizzanr
Pizzanaam
Pizzaprijs
PizzaTypeNr


KLANT
Klantnr
Klantnaam
Klantachternaam
Klantpostcode
Klantemail
Klanttelefoonnummer
Klantwoonplaats
Klantadres

BESTELREGEL_PIZZA
BestelregelPizzaNr
BestelNr
PizzaNr

BESTELREGEL_PIZZA_TOPPING
BestelregelpizzatoppingNr
BestelregelPizzaNr
ToppingNr

TOPPING
ToppingNr
Naam
Prijs


Hiermee kan een klant meerdere pizza's bestellen en er mogen meerdere dressings op 1 pizza. Ik heb maar van Pizzatype ok aparte tabel gemakt.
Hoop dat het helpt. ;)

Verwijderd

Topicstarter
badankt voor jullie hulp zover :)
Pagina: 1