2010-01-11 10 views
9

में ईकॉमर्स उत्पादों और विविधताओं का स्पष्ट रूप से प्रतिनिधित्व करना मेरे पास एक ईकॉमर्स स्टोर है जिसे मैं बना रहा हूं। मैं रेल/एक्टिव रिकार्ड का उपयोग कर रहा हूं, लेकिन वास्तव में इस प्रश्न का उत्तर देने के लिए जरूरी नहीं है (हालांकि, यदि आप उन चीजों से परिचित हैं, तो कृपया रेल/एआर के संदर्भ में उत्तर देने में संकोच न करें)। - इन तरह के एक बैंड की सीडी के रूप में उत्पादों है कि सिर्फ एक विकल्प है, कर रहे हैंडेटाबेस

  1. सरल उत्पादों:

    स्टोर की आवश्यकताओं में से एक है कि यह उत्पादों के दो प्रकार का प्रतिनिधित्व करने की जरूरत है। इसकी मूल कीमत और मात्रा है।

  2. भिन्नता वाले उत्पाद - ये ऐसे उत्पाद हैं जिनमें टी-शर्ट जैसे 3 आकार और 3 रंग होते हैं। आकार और रंग के प्रत्येक संयोजन की अपनी कीमत और मात्रा होगी।

मैंने पहले भी बात इस तरह का किया, और निम्नलिखित किया है:

  • एक उत्पादों तालिका, जो उत्पाद (शीर्षक, आदि) के लिए मुख्य जानकारी नहीं है है।
  • एक वेरिएंट तालिका, जो संस्करण के प्रत्येक प्रकार के लिए कीमत और मात्रा जानकारी रखता है। उत्पादhas_manyप्रकार
  • के लिए सरल उत्पाद, वे सिर्फ संस्करण से जुड़े होंगे।

क्या मैं बेहतर तरीके से ऐसा कर सकता हूं?

उत्तर

0

आपका तरीका बहुत लचीला लगता है। यह मेरे पहले कट के समान होगा।

8

मैंने कुछ साल पहले ई-कॉमर्स उत्पाद पर काम किया था, और हमने इसे आपके द्वारा वर्णित तरीके से किया था। लेकिन हमने एक ही उत्पाद (आकार और रंग, जैसे आपने कहा) पर कई विशेषताओं को संभालने के लिए एक और परत जोड़ा। हमने प्रत्येक विशेषता को अलग से ट्रैक किया, और हमारे पास "एसकेयू" तालिका थी जो प्रत्येक उत्पाद संयोजन के लिए प्रत्येक विशेषता संयोजन को सूचीबद्ध करता था। कुछ इस तरह:

attr_id attr_name 
1   Size 
2   Color 

sku_id prod_id attr_id attr_val 
1   1   1   Small 
1   1   2   Blue 
2   1   1   Small 
2   1   2   Red 
3   1   1   Large 
3   1   2   Red 

बाद में, हम सूची पर नज़र रखने और अन्य सुविधाओं को जोड़ा है, और हम sku आईडी के लिए उन्हें बांध दिया ताकि हम हर एक को अलग से ट्रैक कर सकता है।

+0

क्या होगा यदि उत्पाद में कोई विशेषता नहीं है? क्या attr_id शून्य हो जाएगा? या क्या आप सुनिश्चित करते हैं कि प्रत्येक उत्पाद में कम से कम एक विशेषता थी? –

+1

उस स्थिति में, उस उत्पाद में SKU तालिका में कोई पंक्ति नहीं थी। –

+0

वाइल्डकार्ड के बारे में क्या? "छोटे" के लिए एक भिन्नता जहां आकार अपरिभाषित है? –