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

एक ही टेबल पर कई-से-अनेक

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

उदाहरण के लिए, यदि आप बॉब के सभी मित्रों को प्राप्त करने का प्रयास कर रहे थे, तो आपको उन रिकॉर्ड्स के लिए क्वेरी करनी होगी, जिनमें किसी भी कॉलम में बॉब की आईडी है। इससे कोड थोड़ा और बढ़ जाता है और संभवतः प्रदर्शन पर प्रभाव पड़ता है।

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

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अल्पविराम से अलग किए गए मान फ़ील्ड से अद्वितीय मान कैसे प्राप्त करें?

  2. JDBC के साथ Mysql से कनेक्ट करते समय ClassNotFoundException

  3. ग्रुप कॉनकैट परिणाम कट ऑफ

  4. मायएसक्यूएल लेवेनशेटिन

  5. टाइमज़ोन xampp mysql और apache कैसे सेटअप करें?