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

MySQL में एक पंक्ति में एकाधिक आईडी कैसे असाइन करें?

जैसा कि अन्य ने पहले ही सुझाव दिया है, कई-से-अनेक संबंध भौतिक मॉडल में एक जंक्शन तालिका द्वारा दर्शाए जाते हैं। मैं पैर का काम करूँगा और इसे आपके लिए स्पष्ट करूँगा:

CATEGORY_ITEM जंक्शन तालिका है। इसमें अन्य दो तालिकाओं से माइग्रेट किए गए FK से युक्त एक समग्र PK है। उदाहरण डेटा...

श्रेणी:

CATEGORY_ID CATEGORY
----------- --------
1           Apple
2           Orange

आइटम:

ITEM_ID     NAME
-------     ----
1           Foo
2           Bar

CATEGORY_ITEM:

CATEGORY_ID ITEM_ID
----------- -------
1           1
2           1
1           2

उपरोक्त का अर्थ है:"फू ऐप्पल और ऑरेंज दोनों है, बार केवल ऐप्पल है"

पीके किसी भी श्रेणी के संयोजन को सुनिश्चित करता है और आइटम एक से अधिक बार मौजूद नहीं हो सकता है। श्रेणी या तो is not के आइटम से जुड़ी है - इसे कई बार कनेक्ट नहीं किया जा सकता है।

चूंकि आप मुख्य रूप से दी गई श्रेणी के आइटम खोजना चाहते हैं, PK में फ़ील्ड का क्रम {CATEGORY_ID, ITEM_ID} है, इसलिए अंतर्निहित अनुक्रमणिका उस क्वेरी को संतुष्ट कर सकती है। सटीक स्पष्टीकरण क्यों इस दायरे से परे है - यदि आप रुचि रखते हैं तो मैं दिल से पढ़ने की सलाह देता हूं यूज द इंडेक्स, ल्यूक !

और चूंकि InnoDB क्लस्टरिंग का उपयोग करता है , यह एक ही श्रेणी से संबंधित वस्तुओं को भौतिक रूप से एक साथ संग्रहीत करेगा, जो उपरोक्त क्वेरी के I/O के लिए फायदेमंद हो सकता है।

(यदि आप दिए गए आइटम की श्रेणियों के लिए क्वेरी करना चाहते हैं, तो आपको इंडेक्स में फ़ील्ड के क्रम को फ़्लिप करना होगा।)



  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 कनेक्टर को कैसे आयात करूं?

  2. जूमला में तृतीय पक्ष डेटाबेस से कनेक्ट हो रहा है?

  3. MySQL कैरेक्टर एन्कोडिंग समस्या को कैसे हल करें?

  4. एकाधिक उपयोगकर्ताओं को संदेश भेजने के लिए डेटाबेस स्कीमा

  5. PHP mySQL - डेटाबेस से डिस्कनेक्ट करने का सबसे अच्छा समय कब है?