प्रश्न: क्या आप समझा सकते हैं कि इस परिदृश्य में एक सूचकांक क्या होगा और यह विदेशी कुंजी से अलग कैसे है और यह मेरे डेटाबेस डिज़ाइन को कैसे प्रभावित करता है?
इस मामले में आपकी विदेशी कुंजी आपकी पोस्ट_Tags तालिका में दो कॉलम हैं। एक विदेशी कुंजी के साथ, प्रत्येक विदेशी कुंजी कॉलम में संदर्भित मुख्य तालिका से एक मान होना चाहिए।इस मामले में, पोस्ट और टैग टेबल।
Posts_Tags-> postid चाहिए Posts- में निहित> एक मूल्य postid
हो
Posts_Tags-> TagID एक मूल्य Tags- में समाहित किया जाना चाहिए> TagID
एक स्तंभ के रूप में एक सूचकांक कि कर दिया गया है की Think आपके डेटाबेस के बढ़ते आकार की लागत पर, क्वेरी से पूछताछ/खोज मूल्यों के लिए गति और दक्षता में वृद्धि हुई है। आम तौर पर, प्राथमिक कुंजी इंडेक्स होती हैं, और अन्य कॉलम जिनके लिए आपकी वेबसाइट पर पूछताछ/खोज की आवश्यकता होती है, आपके मामले में, शायद एक पोस्ट का नाम (पोस्ट-> पोस्टनाम)
आपके मामले में, इंडेक्स का आपके पर बहुत कम असर होगा डिज़ाइन (वे गति और दक्षता के लिए अच्छा हैं), लेकिन डेटा भ्रष्टाचार से बचने के लिए आपकी विदेशी कुंजी बहुत महत्वपूर्ण हैं (उनमें मूल्य होने से जो पोस्ट और/या टैग से मेल नहीं खाते हैं)।
विदेशी कुंजी एक पूर्ण नियम लागू नहीं करती है। एक विदेशी कुंजी कॉलम के मूल्यों पर बाधा उत्पन्न करती है। – jabbie
वह एक पूर्ण मूल्य लागू करने के बारे में बात नहीं कर रहा है, वह यह सुनिश्चित करने के बारे में बात कर रहा है कि मेरे पास बाल तालिका में कोई आईडी नहीं है जो मूल तालिका में मौजूद नहीं है। –
बिल्कुल। धन्यवाद, गैब्रियल, समझाओ। – Dmitry