मेरा जवाब यह है कि कोई स्पष्ट जवाब नहीं है। बस अपनी परियोजना के भीतर एक दृष्टिकोण चुनें और सुसंगत रहें। दोनों के पास उनके प्लस और माइनस हैं।
@cletus जेनरेट की गई कुंजी का उपयोग करने के बारे में एक अच्छा बिंदु बनाता है, लेकिन जब आप ऐसी स्थिति में भाग लेते हैं जहां डेटा अपेक्षाकृत स्थिर है, जैसे देश कोड, उनके लिए जेनरेट की गई कुंजी पेश करना अत्यधिक जटिल लगता है। असली दुनिया की राजनीति के बावजूद, देश कोड होने और गायब होने के कारण वास्तव में अधिकांश व्यावसायिक समस्याओं के लिए कोई समस्या नहीं होगी (लेकिन यदि आपका डेटा सक्रिय रूप से सभी 190-210 देशों से संबंधित है, तो उस सलाह का पालन करें)।
सरोगेट कुंजी का सार्वभौमिक उपयोग करना एक अच्छी और लोकप्रिय रणनीति है। लेकिन याद रखें, यह सब कुछ के लिए प्राकृतिक कुंजी का उपयोग कर मॉडलिंग डेटाबेस के जवाब में आता है। एसीके! 15 साल पुरानी डेटाबेस बुक खोलें। हर जगह प्राकृतिक चाबियों का उपयोग करना आपको मुश्किल परिस्थितियों में ले जाता है, क्योंकि समस्या की शुरुआती समझ डोमेन गलत साबित होती है। आप अपने मॉडलिंग प्रथाओं में स्थिरता चाहते हैं, लेकिन स्पष्ट रूप से अलग स्थितियों के लिए विभिन्न तकनीकों का उपयोग करना ठीक है।
मैं वर (2) विदेशी कुंजी एक ही (या बेहतर) क्षेत्रों पूर्णांक से हो जाएगा पर सबसे आधुनिक डेटाबेस के लिए कि प्रदर्शन संदेह है। डेटाबेस वर्षों से पाठित विदेशी कुंजी समर्थित है।
यह देखते हुए कि हमारे पास प्रोजेक्ट के बारे में कोई अन्य जानकारी नहीं है, अगर आप देश कोड को विदेशी कुंजी के रूप में उपयोग करना चाहते हैं, और आपके पास ऐसा करने का विकल्प है, तो मैं कहूंगा कि यह ठीक है। डेटा के साथ काम करना आसान होगा। यह वर्तमान प्रथाओं के खिलाफ थोड़ा सा है, लेकिन - इस मामले में - यह आपको किसी कोने में वापस नहीं जा रहा है।
इथियोपिया यह का नाम बदल?!? – SeanJA
फ़ोन को डरते हुए, मुझे इस सटीक उत्तर टाइप करने के बीच में उठ गया। खूब कहा है! – Eric
@ सेनजा: उस लिंक के अनुसार, हाँ। यह एक अस्थायी परिवर्तन हो सकता है। – cletus