Ik zit in mijn oefenexamen en ik weet niet precies of ik hem wel goed heb genormaliseerd.
dit zijn de gegevens:
factuurnummer
klantnaam
klantstraat
klanthuisnummer
klantpostcode
klantplaats
datum
artikelnaam
prijs
aantal
plaatswinkel
straatwinkel
postcodewinkel
telwinkel
naam winkel
huisnrwinkel
subtotaalproduct
totaal
BTW
netto

Hoe kan ik deze het beste normaliseren?
Kan iemand hem voor mij normaliseren?
dan weet ik hoe het moet.
Het lijkt me niet de bedoeling dat anderen je examen maken.

Wat heb je tot nu toe?
Facturen
factuurnummer
klantnummer
winkelnummer
datum

artikelen
artikelnummer
artikelnaam
prijs

artikel/facturen
factuurnummer
artikelnummer
aantal

klanten
klantnummer
adresnummer
klantnaam

winkels
winkelnummer
plaatswinkel
straatwinkel
postcodewinkel
telwinkel
naam winkel
huisnrwinkel

adressen
adresnummer
klantstraat
klanthuisnummer
klantpostcode
klantplaats

enig idee of ik het zo goed gedaan heb?
ik mag geen enkele fout hebben
Ik zie het vaker, maar waarom heb je een aparte tabel voor adressen terwijl winkels de adressen in de tabel zelf hebben? 1:1 relaties zijn beter om te voorkomen als ze niet strikt noodzakelijk zijn. Ook heb je een aantal velden niet opgenomen in de facturen (btw, subtotaal etc). Ook zou ik voor de toekomstbestendigheid de artikelprijs bij de factuur opslaan, maar ik weet niet of je hier zo ver in moet gaan voor een schoolopdracht.
Via de facturen kun je nu zien welke winkel welk artikel heeft verkocht. Het omgekeerde kan echter nog niet: je kunt niet zien of een winkel een bepaald artikel verkoopt of op voorraad heeft (want als het artikel nog niet is verkocht, dan is er nog geen factuur).

Hoe luidt de opdracht precies?
Dit soort keuzen zijn namelijk niet per se goed of fout onder alle omstandigheden.
en wat als de klant verhuist? Klant krijgt dan een nieuw adres, maar daar heb je nooit naar geleverd. Idem als de winkel verplaatst wordt.

En de verkoopprijs zal bij de factuurregels moeten: als de prijs morgen aangepast wordt, moet je wel terug kunnen halen voor welk bedrag je vandaag verkocht hebt.

Reageren