SQL मानक के अनुसार, एक विदेशी कुंजी को प्राथमिक कुंजी या मूल तालिका की एक अद्वितीय कुंजी का संदर्भ देना चाहिए। यदि प्राथमिक कुंजी में कई स्तंभ हैं, तो विदेशी कुंजी में समान संख्या और स्तंभों का क्रम होना चाहिए। इसलिए विदेशी कुंजी मूल तालिका में एक अद्वितीय पंक्ति का संदर्भ देती है; कोई डुप्लीकेट नहीं हो सकता।
अपनी टिप्पणी दें:
अगर T.A
प्राथमिक कुंजी है, तो नहीं, आपके पास कोई डुप्लीकेट नहीं हो सकता है। कोई भी प्राथमिक कुंजी अद्वितीय और गैर-शून्य होनी चाहिए। इसलिए यदि चाइल्ड टेबल में माता-पिता की प्राथमिक कुंजी को संदर्भित करने वाली एक विदेशी कुंजी है, तो उसे एक गैर-शून्य, अद्वितीय मान से मेल खाना चाहिए, और इसलिए मूल तालिका में बिल्कुल एक पंक्ति का संदर्भ देता है। इस मामले में आप ऐसी चाइल्ड पंक्ति नहीं बना सकते जो एकाधिक पैरेंट पंक्तियों का संदर्भ देती हो।
आप कर सकते हैं एक चाइल्ड रो बनाएं जिसका फॉरेन की कॉलम NULL है, जिस स्थिति में यह पैरेंट टेबल में कोई रो का संदर्भ नहीं देता है।