मॉड पर ध्यान दें: मैंने इस मुद्दे से संबंधित लगभग एक दर्जन पदों को पढ़ा, लेकिन उनमें से कोई भी मेरे प्रश्न का उत्तर नहीं दिया। कृपया इस पोस्ट को हटाने के लिए ध्वजांकित न करें; यह एक डुप्लिकेट सवाल नहीं है।क्या MySQL को कई से अधिक लिंक टेबल के लिए प्राथमिक कुंजी की आवश्यकता है?
मैं एक वेब गैलरी के लिए डेटाबेस तैयार कर रहा हूं जिसमें कई से अधिक संबंध होंगे। उदाहरण के लिए, टैग और छवियां। जाहिर है, इसे पूरा करने के लिए एक तिहाई, लिंक, टेबल बनाया जाएगा। मैं टैग तालिका और छवि तालिका में प्राथमिक कुंजी कॉलम रखने के लिए उपयोग देख सकता हूं, लेकिन मैं लिंक तालिका में इसके लिए उपयोग की कल्पना नहीं कर सकता। यह सिर्फ सर्वर की जगह ले जाएगा। तो, मैं सिर्फ लिंक तालिका में प्राथमिक कुंजी कॉलम नहीं होने की सोच रहा हूं। क्या MySQL इसे अनुमति देता है? या, लिंक तालिका में प्राथमिक कुंजी रखने के लिए कोई अनिवार्य कारण होगा? धन्यवाद।
लिंक तालिका:
+--------------+---------+-----------+
| primary key? | tag ids | image ids |
+--------------+---------+-----------+
स्पष्टीकरण
विल किसी तालिका में प्राथमिक कुंजी डेटाबेस को तोड़ने नहीं होने?
प्राथमिक कुंजी _required_ है? नहीं। क्या लगभग हमेशा एक उम्मीदवार होता है? हाँ। आप किसी भी इंडेक्स के साथ एक टेबल का उपयोग कर सकते हैं, लेकिन यह गति के लिए एक महान दृष्टिकोण नहीं है। :-) – Wiseguy