2012-04-04 4 views
1

전자 상거래 사이트에서 의류 크기에 대한 구조를 디자인해야합니다. 당신은 문제가 유럽 연합 (EU) 48 세 미국 등가물을 가지고 있다는 것입니다 볼 수 있습니다 (그리고 그들은 서로 다른 것 같이, 이제어떻게 옷 크기 db 구조를 만들겠습니까?

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') 

: 우리는 지금 MySQL의

를 사용하는
는 , 우리는 이런 일이 US), EU 입력 크기를 기준으로 정렬/필터링하는 것이 엉망입니다.
많은 온라인 상점에서 이러한 오류가 발생하여 사용자에게 전환을 남기거나 검색/필터를위한 모든 국제 규모를 나열하는 것으로 나타났습니다.

따라서, 예를 들어, 미국 33w34l 바지에 대한 사용자 검색, 나는 그에게 SIZE_ID가 16, 17 또는

어떻게 당신이 모든을 구성 할 18 인 바지를 표시하려는 경우?

+0

그래, 바지는 모두 실제로 같은 크기입니까? 내 말은, 그가 '33w34l'바지를 찾고 있다면, 거기에 '33w32l'인 바지도 너무 놀랍지 않겠습니까? –

답변

1

나는 실제 크기에게 ID를 부여하고 실제 물리적 크기 .. 그렇게

(임의의 데이터가 현실에 더 닮았을지지 않습니다) 것을 일치 크기와 국가의 목록

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 
있을 것입니다

어느 국가에 속해 있는지, 크기를 선택하면 해당 크기 ID를 가진 모든 항목을 검색 할 수 있습니다.

+0

안녕하세요, 유감 스럽지만 제 예제와의 차이점을 이해하지 못해서 문제가 해결되는 법 ... 감사합니다. – koichirose

+0

크기 18 영국이 줄어들 었다고 말하면 크기 1 및 2를 알 수 있습니다. 그 코드와 일치하는 다른 항목을 선택할 수 있습니다. 예를 들어 * 크기를 선택하십시오. sizes.sizeid = items.sizeid에 항목을 결합하십시오. sizes.tag = "{data}"- 항목이 튀어 나옵니다. – BugFinder

+0

흠, 약간의 예를 변경하십시오. SizeID 1 = country US size = 32w 34리터 국가 영국 크기 18 국가 EU 크기 16 SizeID 2 = 국가 미국 크기는 = 32w 32리터 국가 영국 크기 18 국가 EU 크기 영국에서 누군가가 영국의 크기 (18)을 선택하면, 당신은 그에게 보여줄 수 14 제품 size_id = 1 또는 2입니다. 괜찮습니다. 미국인이 미국 크기 32w 34l을 선택한 경우 size_id = 1 인 제품 만 보입니다. 영국 상점에서 항목 크기 18을 추가 할 수 있고 id 1 또는 2인지 여부를 알 수 없기 때문에 이것은 잘못된 것입니다. – koichirose

관련 문제