2012-04-04 6 views
1

Ich muss eine Struktur für Kleidergrößen auf einer E-Commerce-Website entwerfen.
Wir mysqlWie würden Sie eine db-Struktur in Kleidergröße erstellen?

Vorerst verwenden, haben wir etwas wie folgt aus:

product(product_id, name, size_id) 
(12, 'formal shoes', 2) 
(224, 'pants', 16) 

size(size_id, gender, category_id) 
(2, 'm', 5) 
(16, 'm', 8) 
(17, 'm', 8) 
(18, 'm', 8) 

category(category_id, category_name) 
(5, 'shoes'), 
(8, 'pants') 

size_chart(size_id, country_code, value) 
(2, 'US', '7') 
(2, 'UK', '5') 
(16, 'US', '33w34l') 
(17, 'US', '33w32l') 
(18, 'US', '33') 
(16, 'EU', '48') 
(17, 'EU', '48') 
(18, 'EU', '48') 
Jetzt

, wie Sie das Problem sehen kann, ist, dass 48 EU-3 US-Äquivalente hat (und sie sind unterschiedlich in der US), so dass es aufgrund der EU-Eingabegröße schwierig wäre, Sortier/Filter zu verwenden.
Ich habe festgestellt, dass viele Online-Shops das falsch verstanden haben und entweder die Konvertierung an den Benutzer übergeben oder einfach jede einzelne internationale Größe für Suche/Filter auflisten.

So zum Beispiel, wenn der Benutzer Suche nach US 33w34l Hose, würde Ich mag ihn Hose zeigen, wo size_id 16,17 oder 18 ist

Wie würden Sie alles strukturieren?

+0

Ja, aber sind diese Hosen eigentlich alle gleich groß? Ich meine, wenn er nach '33w34l' Hosen sucht, wäre er nicht ein wenig überrascht, wenn er auch Hosen findet, die '33w32l' drin sind? –

Antwort

1

würde ich eine physikalische Größe eine ID, geben und dann eine Liste von Größen und Länder haben, die übereinstimmen, dass die tatsächliche physische Größe .. so

(Zufallsdaten keine Ähnlichkeit mit der Realität trägt)

SizeID 1 = 
country US size = 33w 41l 
country UK size 16 
country uk size 18 

SizeID 2 = 
country US size = 34w 41l 
country UK size 18 
country EU size 14 

dann, in welchem ​​Land sie auch sind, wählen sie ihre Größe aus, und dann können Sie nach allen Artikeln mit dieser sizeID suchen.

+0

Hallo, es tut mir leid, aber ich verstehe nicht den Unterschied mit meinem Beispiel und wie würde es mein Problem lösen ... Danke – koichirose

+0

Weil, wenn ich sagte, ich Größe 18 UK sank, wissen Sie, dass sizeID 1 & 2 ist, Sie können dann ein beliebiges anderes Element auswählen, das mit diesem Code übereinstimmt. ZB wählen Sie * aus Größen Links beitreten Artikel auf sizes.sizeID = items.siseid wo sizes.tag = "{data}" - heraus erscheint Ihre Artikel – BugFinder

+0

Hm, ändern Sie Ihr Beispiel ein wenig: SizeID 1 = Land US-Größe = 32W 34l Land UK Größe 18 Land der EU-Größe 16 SizeID 2 = Land US size = 32w 32l Land UK Größe 18 Land der EU-Größe 14 Wenn jemand aus UK Größe 18 UK wählt, dann kann man ihm Produkte zeigen das haben size_id = 1 oder 2. Das ist in Ordnung. Wenn jemand aus den USA US-Größe 32w 34l wählt, dann sieht er nur Produkte mit size_id = 1. Dies wäre falsch, da ein UK-Shop eine Artikelgröße 18 hinzufügen könnte und wir nicht wissen würden, ob es eine ID 1 oder 2 ist. – koichirose