सरोगेट कुंजी (आम तौर पर पूर्णांक) में आपके टेबल संबंधों को तेजी से बनाने का अतिरिक्त मूल्य होता है, और भंडारण और अद्यतन गति में और अधिक आर्थिक (यहां तक कि बेहतर है, व्यापार कुंजी क्षेत्रों के विपरीत, सरोगेट कुंजी का उपयोग करते समय विदेशी कुंजी को अपडेट करने की आवश्यकता नहीं है, वह अब और तब बदल जाता है)।
मुख्य रूप से जुड़ने के उद्देश्यों के लिए, विशिष्ट रूप से पंक्ति की पहचान के लिए एक तालिका की प्राथमिक कुंजी का उपयोग किया जाना चाहिए। एक व्यक्ति तालिका के बारे में सोचें: नाम बदल सकते हैं, और वे अद्वितीय गारंटी नहीं देते हैं।
थिंक कंपनियां: आप एक खुश मर्किन कंपनी हैं जो मर्किया में अन्य कंपनियों के साथ कारोबार कर रही हैं। आप कंपनी के नाम को प्राथमिक कुंजी के रूप में उपयोग नहीं करने के लिए पर्याप्त चतुर हैं, इसलिए आप 10 अल्फ़ान्यूमेरिक वर्णों की संपूर्णता में मर्किया की सरकार की अद्वितीय कंपनी आईडी का उपयोग करते हैं। तब मर्किया ने कंपनी आईडी बदल दी क्योंकि उन्हें लगा कि यह एक अच्छा विचार होगा। यह ठीक है, आप अपने db इंजन के कैस्केड अद्यतन सुविधा का उपयोग करते हैं, एक बदलाव के लिए जो आपको पहले स्थान पर शामिल नहीं करना चाहिए। बाद में, आपका व्यवसाय फैलता है, और अब आप फ्रीडोनिया में एक कंपनी के साथ काम करते हैं। फ्रीडोनियन कंपनी आईडी 16 अक्षरों तक की होती है। आपको कंपनी आईडी प्राथमिक कुंजी (आदेशों, मुद्दों, मनीट्रांसफर आदि में भी विदेशी कुंजी फ़ील्ड) को बढ़ाने की आवश्यकता है, प्राथमिक कुंजी में एक विदेशी क्षेत्र (विदेशी कुंजियों में भी) को जोड़ना। आउच! फ्रीडोनिया में गृहयुद्ध, यह ' तीन देशों में विभाजित है। आपके सहयोगी का देश का नाम बदलकर नया होना चाहिए; बचाव के लिए अद्यतन कैस्केड। BTW, आपकी प्राथमिक कुंजी क्या है? (कंट्री, कंपनीआईडी) या (कंपनीआईडी, कंट्री)? उत्तरार्द्ध जुड़ने में मदद करता है, पूर्व एक और सूचकांक से बचता है (या शायद बहुत से, आपको अपने आदेश को देश द्वारा भी समूहीकृत करना चाहिए)।
ये सभी सबूत नहीं हैं, लेकिन एक संकेत है कि सरोगेट कुंजी विशिष्ट रूप से सभी कार्यों के लिए एक पंक्ति की पहचान करने के लिए, जिसमें शामिल होने के लिए एक व्यावसायिक कुंजी भी बेहतर है।