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

श्रेणी, उपश्रेणी और संबंधित पुस्तकों के लिए डिज़ाइन डेटाबेस

"श्रेणियों" के लिए एक से अधिक तालिका रखने का कोई कारण नहीं है, चाहे वह शीर्ष-स्तरीय श्रेणी हो या उप-श्रेणी। वे सभी केवल "श्रेणियां" हैं।

तो, एक parent_id . के साथ "श्रेणियों" नामक एक एकल तालिका है फ़ील्ड:

// categories table
id
name
user_id
parent_id

जब आप सभी शीर्ष स्तरीय श्रेणियों को खींचना चाहते हैं, तो बस अपनी क्वेरी को categories . के विरुद्ध चलाएँ इस शर्त के साथ तालिका कि parent_id शून्य है।

फिर, जब आप उपश्रेणियों को खींचना चाहते हैं, तो बस categories के विरुद्ध क्वेरी चलाएँ इस शर्त के साथ तालिका कि parent_id = 123 (या जो कुछ भी)।

यह न केवल सब कुछ बहुत साफ रखता है, बल्कि यदि आप उप-उप-उप-उप श्रेणियों को जोड़ना जारी रखना चाहते हैं तो यह विस्तार की अनुमति भी देता है...आदि।

एक अन्य विकल्प KakePHP's TreeBehavior का उपयोग करना है। ।

मैं व्यक्तिगत रूप से ऊपर सुझाए गए तरीके का उपयोग करता हूं, लेकिन ऐसा इसलिए हो सकता है क्योंकि मैंने इस व्यवहार को वास्तव में पर्याप्त रूप से समझने के लिए समय नहीं लिया है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 1093 MySQL तालिका में त्रुटि दो बार निर्दिष्ट है

  2. [ईमेल संरक्षित] माइक्रो इंस्टेंस पर mysql की मेमोरी खपत को कम करना

  3. डेटा के बिना MySQL निर्यात स्कीमा

  4. php में mysql डेटाबेस से ग्राफ़ और चार्ट कैसे उत्पन्न करें?

  5. क्या SQL सर्वर MySQL के ON DUPLICATE KEY UPDATE की तरह कुछ भी ऑफर करता है?