Hehe, man kan bryta ut det där rätt ordentligt.
En tabell med postorter. Han kan ju ha flera olika postorter
En tabell med postnummer som har en postort.
En tabell med e-post adresser. (En person kan ju ha flera st)
En tabell med telefon nummer.
En med fax-nummer
Och en med betal sätt (Han kanske vill betala på olika sätt).
Så skall det ju vara om man skall normalisera korrekt.. (Jag kanske missat något).
Men sedan får man ju se till vad kunden vill eller ja han som skall ha databasen. Vill han att en person skall kunna ha 2 adresser ?? osv.
Och precis som Gladh skriver så får man överväga fall till fall när det gäller normalisering. Ibland eller rättare sagt ganska ofta så får man faktiskt bättre eller inte nämnvärt sämre prestanda än om man hade skitit i det. Mén strukturen blir lite klarare vid normalisering.
Men om man t.ex. skulle ha en databas som skall lagra vad en viss kund har köpt. (T.ex. ica kortet) så lagrar affären allt du har köpt.
I en tabell så finns kund-informationen. Namn,adress,tel (du antas antagligen bara ha en adress eller tel).
Sedan så skall du ha en lista där varan t.ex. dåvarande pris, hur många osv. Samt datum.
Här är det absolut INTE smart att bara ha en tabell för du ökar du datan med säkert 200% minst. Samt att en stor fet tabell är slöare att söka i en ett par små.
Så kort och gott
Här skall man ju ha minst
3 tabeller
KundInfo
K_Id
Namn
Efternamn
Adress
tel
osv osv
Kundharkopt
K_Id
P_Id
Datum
Dåvarandepris
hurmånga
Produkter
P_Id
P_Name
Man hade ju iof kunnat ha en tabell med pris info och när produkten kostade så mycket eller mellan vilka perioder
Så hade man sluppit att dåvarande pris upprepas ett par ggr.
ProductPrices
P_Id
Date
Cost
Detta hade varit det mest ultimata i både prestanda och plats anser jag än om man kört ihop allt i en tabell.
Samt att det är lite lättare att arbeta med.