Hej
Jeg har tidligere fået hjælp til netop dette problem - design af
tabeller til en webshop. Jeg har dog ikke haft tid til at arbejde videre
med det før nu, hvor jeg desværre har opdaget, hvad jeg tror er et problem.
Det nuværende design kan ses på:
http://kloegt.dk/misc/tabel_layout.png
Relationerne er medtaget af illustrative hensyn, om de er rigtige ved
jeg ikke ;) Anyway; hvis det ikke siger sig selv, så følger her en
forklaring af tabellerne:
product_groups
Indeholder produktgrupper så som 'Trøjer', 'Cykeldele' osv.
products
Indeholder produkter så som 'Hooded sweatshirt', 'Kevlardæk' osv.
stock
Indeholder lagerantallet af produkter og for produkter som f.eks.
'Hooded sweatshirt', der kan findes forskellige størrelser altså en post
for hhv. str. S, M, L osv. Grunden til, at dette er adskilt fra products
er, at produkter som 'Hooded sweatshirt' i interfacet skal kunne fremstå
som ét produkt. I forhold til lagerantal, er der imidlertid tale om
flere produkter.
stock_attributes
Indeholder attributter en lagervarer kan have, som f.eks. størrelse.
Dvs. at der i tabellen en post som f.eks. 'torso_size'. Dette er udskilt
fra stock, da f.eks. størrelsen på 'Kevlardæk' angives på anden vis,
mens andre produkter ikke har en størrelse.
stock_values
Indeholder værdier, der knytter sig til en attribut i stock_attributes.
Dvs. at der i relation til posten 'torso_size' er en post for hhv. S, M,
L, XL.
stock_properties
Kæder en post i 'stock' sammen med en post i 'stock_values'. Feltet
'stock_attribute_id' er jeg netop blevet opmærksom på, ikke er
nødvendigt, da det kan findes gennem relationen til 'stock_values'.
Grunden til at tabellerne er struktureret som de er, er at jeg ønsker at
lave en fleksibel løsning, der kan rumme stort set alle typer produkter.
Det skal således (stort set) være designet af
administrationsinterfacet, der sætter begrænsninger for, hvilke
produkter, der kan tilføjes samt hvilke attributter, der kan knyttes til
et givent produkt.
Det nuværende design giver dog umiddelbart to problemer og måske flere:
1. Feltet 'value' i 'stock_values' kan kun have én datatype. I hvilke
situationer det kan give problemer, kan jeg ikke umiddelbart komme i
tanke om, men det er et muligt problem.
2. Værdierne i hhv. 'stock_attributes' og 'stock_values' er tænkt som
værende stort set statiske. Det er dog også tanken, at attributfeaturen
også skal kunne give mulighed for f.eks. at tilknytte ekstra billeder
til et produkt. Det er selvfølgelig muligt, at skrive navn/sti/id til
billedet i 'product_values' og have en post i 'product_attributes', der
hedder 'ekstra_img' eller lign., men er det den korrekte måde at gøre
det på?
Håber at I forstår problemstillingen og kan give et par forslag til,
hvordan jeg kan lave et alternativ design eller tilrette det nuværende.
På forhånd tak.
--
Peter Farsinsen
fornavn@efternavn.dk