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

MySQL मित्र तालिका

यह मानते हुए कि आपके सभी मित्र भी उपयोगकर्ता तालिका में हैं, आपको एक मित्र तालिका की आवश्यकता होगी जो एक साधारण एक-से-अनेक संबंध को परिभाषित करती है - उपयोगकर्ता तालिका को वापस स्वयं से जोड़ती है। तो

User Table
UserID int identity not null
[other attribute fields]

Friends Table
UserIDLink1 int
UserIDLink2 int 
[other attribute field]

जहां UserIDLink1 और UserIDLink2 दोनों उपयोगकर्ता तालिका में विदेशी कुंजी हैं।

तो उदाहरण के लिए यदि मेरे पास तीन उपयोगकर्ता हैं

1 Joe
2 Bill
3 Jane

और जो और जेन मित्र हैं तो मित्र तालिका में एक पंक्ति होगी

1 3

उपरोक्त स्पष्ट रूप से यह मानता है कि यदि A, B का मित्र है तो B, A का मित्र है - यदि ऐसा नहीं है तो आप संभवतः UserIDLink1 और UserIDLink2 का नाम बदलकर UserID और FriendID या इसी तरह करना चाहेंगे - इस मामले में आप रिकॉर्ड को भी दोगुना करना है।

इसके अलावा द्वि-दिशात्मक कॉन्फ़िगरेशन के लिए (A, B का मित्र है यदि B, A का मित्र है) तो आपको (UserIDLink1,UserIDLink2) और (UserIDLink2,UserIDLink1) के लिए मित्र तालिका पर अनुक्रमणिकाएँ सेट करनी चाहिए ताकि यह सुनिश्चित किया जा सके कि पहुँच हमेशा कुशल हो यदि हम या तो जो के दोस्तों या जेन के दोस्तों के लिए खोज रहे थे (यदि आपने दूसरी अनुक्रमणिका सेट नहीं की है तो पहली क्वेरी एक कुशल अनुक्रमणिका लुकअप होगी लेकिन दूसरी को पूर्ण तालिका स्कैन की आवश्यकता होगी)।

यदि आपके लिंक द्विदिश नहीं थे, तो यह पता लगाना आवश्यक नहीं होगा कि A के मित्र कौन हैं, लेकिन फिर भी आपको शायद इसकी सबसे अधिक आवश्यकता होगी क्योंकि आपको यह पता लगाने की भी आवश्यकता होगी कि B किसका मित्र है।



  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. xampp स्थापित करने के बाद अपाचे चलाने में त्रुटि

  3. पासवर्ड रीसेट करने के बाद उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' (पासवर्ड का उपयोग करके:हाँ) के लिए प्रवेश निषेध LINUX

  4. CURRENT_TIMESTAMP उदाहरण – MySQL

  5. MySQL में स्रोत-प्रतिकृति प्रतिकृति को कैसे कॉन्फ़िगर करें