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