Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

डेटाबेस मॉडलिंग:Amazon जैसे उत्पादों को श्रेणीबद्ध कैसे करें?

पाठ्यक्रम यह पैमाने होगा। यह ठीक काम करेगा, यह आमतौर पर इस्तेमाल की जाने वाली संरचना है।

एक level_no Include शामिल करें . यह कोड में सहायता करेगा, लेकिन अधिक महत्वपूर्ण, डुप्लिकेट को बाहर करना आवश्यक है।

यदि आप वास्तव में एक तंग संरचना चाहते हैं, तो आपको इनोड की यूनिक्स अवधारणा की तरह कुछ चाहिए।

आपको किसी product . से पदानुक्रम उत्पन्न करने के लिए आवश्यक कोड के बारे में सोचने में कठिनाई हो सकती है , लेकिन यह एक अलग मुद्दा है।

और कृपया बदलें

  • (product_category )) id करने के लिए product_category_id
  • (product id करने के लिए product_id
  • parent_id करने के लिए parent_product_category_id

टिप्पणियों के प्रतिसाद

  1. level_no . इस डेटा मॉडल पर एक नज़र डालें, यह एक निर्देशिका ट्री संरचना के लिए है (उदाहरण के लिए FlieManager Explorer विंडो):

    निर्देशिका डेटा मॉडल

    देखें कि क्या आप इसे समझ सकते हैं, यह यूनिक्स इनोड अवधारणा है। फाइलनाम को नोड के भीतर अद्वितीय होना चाहिए, इसलिए दूसरा इंडेक्स। यह वास्तव में पूरा हो गया है, लेकिन कुछ डेवलपर्स इन दिनों पदानुक्रम, स्तरों को नेविगेट करने के लिए आवश्यक कोड लिखने के लिए एक उपयुक्त फिट होंगे। उन डेवलपर्स को एक level_no . की आवश्यकता होती है यह पहचानने के लिए कि वे पदानुक्रम में किस स्तर पर काम कर रहे हैं।

  2. अनुशंसित परिवर्तन। हां, इसे गुड नेमिंग कन्वेंशन कहा जाता है। मैं इसके बारे में कठोर हूं, और मैं इसे प्रकाशित करता हूं, इसलिए यह एक नामकरण मानक है। इसके कुछ कारण हैं, जो आपको तब स्पष्ट हो जाएंगे जब आप कुछ SQL को जॉइन के 3 या 4 स्तरों के साथ लिखेंगे; खासकर जब आप एक ही माता-पिता के पास दो अलग-अलग तरीकों से जाते हैं। अगर आप SO सर्च करेंगे तो आपको इसके लिए बहुत से सवाल मिलेंगे; हमेशा एक ही जवाब। यह मेरे द्वारा आपके लिए लिखे जाने वाले अगले मॉडल में भी हाइलाइट किया जाएगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Group_Concat और Concat का उपयोग करते समय परिणाम की छंटनी

  2. MySQL - CASE में कई WHEN स्थितियों का संयोजन

  3. क्या आप एक MySQL क्वेरी में किसी फ़ील्ड को विभाजित/विस्फोट कर सकते हैं?

  4. MySQL मूवी रिजर्वेशन सिस्टम डिज़ाइन भाग 2

  5. मैं एक अद्यतन क्वेरी में तीन टेबल जॉइन कैसे कर सकता हूं?