विदेशी कुंजी की परिभाषा और इसके कार्य और प्राथमिक कुंजी के साथ अंतर
पहले प्राथमिक कुंजी के बारे में बताया गया था,इस बार लेखक उन विशेषताओं पर चर्चा करेगा जो प्राथमिक कुंजी से कम महत्वपूर्ण नहीं हैं, अर्थात् विदेशी कुंजी (विदेशी कुंजी)। अपने नाम के आधार पर, यह विशेषता मुख्य विशेषता नहीं है जिसे एक तालिका में शामिल किया जाना चाहिए। हालांकि, यह इस विदेशी कुंजी है जिसमें मास्टर टेबल और इसके व्युत्पन्न टेबल के बीच जुड़ने की भूमिका है।
सीधे शब्दों में कहें, एक विदेशी कुंजी बनाई जा सकती हैएक डेटाबेस में दो अलग-अलग तालिकाओं में निहित रिकॉर्ड के बीच संबंध। यह विदेशी कुंजी वह कॉलम है जो प्राथमिक कुंजी कॉलम को संदर्भित करता है। ये संदर्भ डेटाबेस को डिजाइन करने में बहुत महत्वपूर्ण हो जाते हैं। यह उन रिकॉर्डों के बीच संबंध बनाना है जो रिलेशनल डेटाबेस को सामान्य बनाने में महत्वपूर्ण भूमिका निभाते हैं। सामान्यीकरण में, विदेशी कुंजी अन्य तालिकाओं का उपयोग करना है और डेटाबेस को सॉर्ट कर सकता है।
हालांकि, क्या आप जानते हैं कि वास्तव में समझ क्या हैविदेशी कुंजी से? समारोह? वास्तव में, प्राथमिक कुंजी से विदेशी कुंजी को क्या अलग करता है। इसलिए, इस लेख में, लेखक विदेशी कुंजी के अर्थ पर विस्तार से चर्चा करेगा - विदेशी कुंजी का कार्य और विदेशी कुंजी और प्राथमिक कुंजी के बीच का अंतर भी। तुरंत, पहली चर्चा, जो नीचे दी गई विदेशी कुंजी को समझने के बारे में है।
विदेशी कुंजी की परिभाषा
सीधे शब्दों में कहें, एक विदेशी कुंजी को एक विदेशी कुंजी के रूप में व्याख्या की जा सकती है। यह परिभाषा रिलेशनल डेटाबेस प्रोसेसिंग में भी लागू होती है। विदेशी कुंजी (विदेशी कुंजी) एक विशेषता या तालिका में निहित विशेषताओं का एक संयोजन है जो दो तालिकाओं के बीच संबंध (संबंध) बनाने के लिए उपयोग किया जाता है।
रिलेशनल डेटाबेस में, विदेशी कुंजियों का उपयोगपहली तालिका में निहित प्राथमिक कुंजी को संदर्भित करता है या इसे मास्टर तालिका के रूप में भी जाना जाता है। अधिक जानकारी के लिए, नीचे दी गई छवि पर विचार करें।
ऊपर की तस्वीर में, डिपार्टमेंट_आईडी कॉलम हैकर्मचारी तालिका एक विदेशी कुंजी है। क्योंकि, Department_Id स्तंभ विभाग_I कॉलम को संदर्भित करता है जो विभाग तालिका में है। उस स्थिति में, विभाग तालिका में Department_Id कॉलम को प्राथमिक कुंजी कहा जाता है। निम्नलिखित बताते हैं कि MySQL का उपयोग करके एक कर्मचारी तालिका बनाने में एक विदेशी कुंजी (विदेशी कुंजी) कैसे निर्धारित करें:
(कर्मचारी_इद चार (7),
नाम CHAR (25),
BOOLEAN, लिंग
दिनांक दिनांक,
विभाग_ आईएचडी (3),
प्राथमिक कुंजी (कर्मचारी_आदि),
विदेशी कुंजी (विभाग_ विभाग) संदर्भ विभाग (विभाग_ विभाग);
विदेशी कुंजी समारोह
मूल रूप से, विदेशी कुंजी का उपयोग किया जाता हैएक तालिका से दूसरी तालिका के बीच संबंध को इंगित करता है। या इसे माता-पिता और बच्चे के रूप में जाना जा सकता है। पहली तालिका एक माता-पिता के रूप में कार्य करती है जिसमें एक प्राथमिक कुंजी होती है, दूसरी तालिका को एक बच्चा कहा जाता है जिसमें एक विदेशी कुंजी होती है।
एक टेबल कहा जा सकता है अगर बच्चा होतालिका में स्तंभ होते हैं जो पहले तालिका या माता-पिता के संदर्भ होते हैं। इसके अलावा, कई कार्य हैं जो विदेशी कुंजी के स्वामित्व में हैं। निम्नलिखित इसके कुछ कार्यों की व्याख्या करेगा:
- एक विदेशी कुंजी का निर्धारण स्वचालित हैडेटाबेस प्रासंगिक अखंडता बनाए रखने में संगत होगा। इस तरह, डेटाबेस दर्ज किए गए किसी भी डेटा की निगरानी कर सकता है। उदाहरण के लिए ऊपर की छवि में उदाहरण के लिए, जब आप कर्मचारी तालिका ("2010004", "एंडी", "पुरुष", "10/03/1990", "PEN") में एक नया रिकॉर्ड दर्ज करने का प्रयास करते हैं। फिर स्वचालित रूप से, डेटाबेस रिकॉर्ड दर्ज करने और त्रुटि संदेश प्रदर्शित करने से इनकार करेगा। क्योंकि, कॉलम में department_id तालिका में विभाग "PEN" नहीं जानते।
- जब आपने एक प्राथमिक कुंजी सेट की हैमुख्य तालिका और दूसरी तालिका में विदेशी कुंजी, तो यह आपके लिए डेटाबेस के भौतिक डिजाइन को परस्पर संबंधित घटकों के साथ देखना आसान बनाता है। इस तरह, आपको मैन्युअल रूप से डेटाबेस डिज़ाइन बनाने की आवश्यकता नहीं है। XAMPP में, आप भौतिक डेटाबेस डिज़ाइन को देख सकते हैं जिसे मेनू पर क्लिक करके डिज़ाइन किया गया है अधिक -> डिजाइनर.
- एक कॉलम बनाकर जिसका उपयोग किया जाता हैविदेशी कुंजी, यह आपके लिए डेटाबेस में संग्रहीत प्रत्येक डेटा के लिए प्रसंस्करण संचालन करना आसान बना सकता है। क्योंकि, संग्रहीत डेटा एक-दूसरे के साथ परस्पर संबंधित है।
प्राथमिक और विदेशी कुंजी के बीच अंतर
प्राथमिक कुंजी की परिभाषा जानने के बाद औरविदेशी कुंजी, आप पहले से ही दो शब्दों के बीच अंतर को कम कर सकते हैं। एक संबंधपरक डेटाबेस में, प्रत्येक तालिका में केवल एक प्राथमिक कुंजी हो सकती है। विदेशी कुंजी के विपरीत, प्रत्येक तालिका में कई विदेशी कुंजी हो सकती हैं।
कई और अंतर हैं जो प्राथमिक कुंजी और विदेशी कुंजी के स्वामित्व में हैं। निम्नलिखित दोनों के बीच के अंतरों की व्याख्या करेगा।
एक। प्राथमिक कुंजी
- प्राथमिक कुंजी टपल मूल्य को परिभाषित करती हैएक मेज। प्राथमिक कुंजी को एक तालिका में एकल विशेषता भी कहा जा सकता है। इस तरह, प्राथमिक कुंजी का मान परिवर्तित नहीं हो सकता है। क्योंकि, प्राथमिक कुंजी के मूल्य को बदलना वास्तव में भ्रम पैदा करेगा।
- यह प्राथमिक के बीच मुख्य अंतर हैएक विदेशी कुंजी के साथ कुंजी एक मूल्य है जो प्राथमिक कुंजी में उपयोग किया जाता है NULL नहीं होना चाहिए। मुद्दा यह है कि रिकॉर्ड को मूल्यों से भरा होना चाहिए (खाली नहीं हो सकता)। यदि प्राथमिक कुंजी विशेषता के मान में NULL होता है, तो आप तालिका में निहित रिकॉर्ड की पहचान नहीं कर सकते।
- प्राथमिक कुंजी में, आप स्वचालित रूप से एक संकुल सूचकांक बना सकते हैं। वह यह है कि आप डेटा को किसी डेटाबेस में संग्रहीत कर सकते हैं।
- प्राथमिक कुंजी UNIQUE और का एक संयोजन हैपूरा नहीं। इसका कोई डुप्लिकेट मान नहीं होता है, जिसे कॉलम के द्वारा प्राथमिक कुंजी के रूप में परिभाषित किया जा सकता है, विशेष रूप से रिलेशनल डेटाबेस को संसाधित करने में।
- आप प्राथमिक कुंजी विशेषता में नए मान जोड़ सकते हैं, भले ही विदेशी कुंजी के कॉलम में नया मान न हो।
- आप पहली तालिका (मूल) से प्राथमिक कुंजी से कोई मान नहीं हटा सकते। उसके लिए, आपको दूसरी तालिका या बच्चे में विदेशी कुंजी नामक विशेषता को हटाना होगा।
ख। विदेशी कुंजी
- एक विदेशी कुंजी एक में एक क्षेत्र हैएक टेबल जिसका इस्तेमाल दो टेबल को जोड़ने के लिए किया जाता है। इस तरह, विदेशी कुंजी एक या समान या अलग-अलग तालिका से पंक्तियों की पहचान करने के लिए एक अद्वितीय स्तंभ को संदर्भित करती है।
- प्राथमिक कुंजी के विपरीत जिसका मूल्य नहीं हैNULL हो सकता है। एक विदेशी कुंजी NULL मान स्वीकार कर सकती है। इसलिए, विदेशी कुंजी में तालिका में निहित रिकॉर्ड की पहचान करने के लिए एक फ़ंक्शन नहीं है। इसके अलावा, विदेशी कुंजियाँ डुप्लिकेट मान भी प्राप्त कर सकती हैं।
- अंदर कोई विदेशी चाबी नहीं है गुच्छेदार सूचकांक, हालाँकि, आप इसे मैन्युअल रूप से कर सकते हैं।
- यदि आप मान प्राथमिक कुंजी कॉलम में उपलब्ध नहीं है, तो आप किसी विदेशी कुंजी में एक मूल्य नहीं जोड़ सकते। क्योंकि, विदेशी कुंजी में शर्त मूल्य प्राथमिक कुंजी कॉलम से संदर्भ मूल्य है।
- आप उत्पन्न होने वाले मान को हटा सकते हैंविदेशी कुंजी कॉलम से अन्य रिकॉर्ड को परेशान किए बिना, और यह भी जाने बिना कि क्या मूल्य एक मूल्य है जो प्राथमिक कुंजी से संदर्भित है या नहीं।
यह विदेशी की परिभाषा का स्पष्टीकरण हैकुंजी, इसका फ़ंक्शन प्राथमिक कुंजी और विदेशी कुंजी के बीच अंतर के साथ। लेखक को उम्मीद है कि उपरोक्त लेख आपको विदेशी कुंजी को स्पष्ट रूप से जानने में मदद कर सकता है ताकि आप प्राथमिक कुंजी संदर्भ से आने वाली विदेशी कुंजी को निर्दिष्ट कर सकें।