विदेशी कुंजी

लेखक: John Stephens
निर्माण की तारीख: 24 जनवरी 2021
डेट अपडेट करें: 1 जुलाई 2024
Anonim
13. MySQL 8 - Foreign keys   внешние ключи
वीडियो: 13. MySQL 8 - Foreign keys внешние ключи

विषय

परिभाषा - विदेशी कुंजी का क्या अर्थ है?

एक विदेशी कुंजी एक संबंधपरक डेटाबेस तालिका में स्तंभ या समूह है जो दो तालिकाओं में डेटा के बीच एक लिंक प्रदान करता है। यह तालिकाओं के बीच एक क्रॉस-रेफरेंस के रूप में कार्य करता है क्योंकि यह किसी अन्य तालिका की प्राथमिक कुंजी को संदर्भित करता है, जिससे उनके बीच एक लिंक स्थापित होता है।


एक रिलेशनल डेटाबेस सिस्टम में अधिकांश टेबल विदेशी कुंजी अवधारणा का पालन करते हैं। जटिल डेटाबेस और डेटा वेयरहाउस में, डोमेन में डेटा को कई तालिकाओं में जोड़ा जाना चाहिए, इस प्रकार उनके बीच संबंध बनाए रखना चाहिए। संदर्भात्मक अखंडता की अवधारणा विदेशी कुंजी सिद्धांत से ली गई है।

विदेशी कुंजी और उनका कार्यान्वयन प्राथमिक कुंजी की तुलना में अधिक जटिल हैं।

Microsoft Azure और Microsoft क्लाउड का परिचय | इस गाइड के दौरान, आप जानेंगे कि क्लाउड कंप्यूटिंग क्या है और Microsoft Azure आपको क्लाउड से अपना व्यवसाय चलाने और चलाने में कैसे मदद कर सकता है।

टेकोपेडिया फॉरेन की बताते हैं

विदेशी कुंजी के रूप में काम करने वाले किसी भी कॉलम के लिए, लिंक टेबल में एक समान मूल्य मौजूद होना चाहिए। डेटा डालते समय और विदेशी कुंजी कॉलम से डेटा निकालते समय विशेष सावधानी बरतनी चाहिए, क्योंकि लापरवाह विलोपन या सम्मिलन दो तालिकाओं के बीच संबंध को नष्ट कर सकता है।

उदाहरण के लिए, यदि दो टेबल, ग्राहक और ऑर्डर हैं, तो ऑर्डर टेबल में एक विदेशी कुंजी पेश करने से उनके बीच एक संबंध बनाया जा सकता है जो ग्राहक तालिका में ग्राहक आईडी को संदर्भित करता है। ग्राहक आईडी कॉलम ग्राहक और ऑर्डर टेबल दोनों में मौजूद है। ऑर्डर तालिका में ग्राहक आईडी विदेशी कुंजी बन जाती है, ग्राहक तालिका में प्राथमिक कुंजी का उल्लेख करता है। आदेश तालिका में एक प्रविष्टि सम्मिलित करने के लिए, विदेशी कुंजी बाधा को संतुष्ट करना होगा। एक ग्राहक आईडी दर्ज करने का प्रयास जो ग्राहक तालिका में मौजूद नहीं है, विफल रहता है, इस प्रकार तालिका की संदर्भात्मक अखंडता को बनाए रखता है।


एक विदेशी कुंजी कार्रवाई से जुड़े कुछ संदर्भात्मक कार्यों में निम्नलिखित शामिल हैं:

  • कैस्केड: जब मूल तालिका में पंक्तियों को हटा दिया जाता है, तो चाइल्ड टेबल में मिलान वाले विदेशी कुंजी कॉलम भी हटा दिए जाते हैं, जिससे कैस्केडिंग डिलीट हो जाती है।
  • सेट अशक्त: जब मूल तालिका में एक संदर्भित पंक्ति हटा दी जाती है या अपडेट की जाती है, तो संदर्भात्मक अखंडता बनाए रखने के लिए संदर्भित पंक्ति में विदेशी कुंजी मानों को शून्य पर सेट किया जाता है।
  • ट्रिगर: सामान्य रूप से ट्रिगर के रूप में प्रासंगिक क्रियाएं लागू की जाती हैं। कई मायनों में विदेशी प्रमुख क्रियाएं उपयोगकर्ता द्वारा परिभाषित ट्रिगर्स के समान हैं। उचित निष्पादन सुनिश्चित करने के लिए, आदेश दिए गए संदर्भात्मक कार्यों को कभी-कभी उनके समकक्ष उपयोगकर्ता-परिभाषित ट्रिगर्स के साथ बदल दिया जाता है।
  • डिफ़ॉल्ट सेट करें: यह संदर्भात्मक कार्रवाई "सेट शून्य" के समान है। मूल तालिका में संदर्भित पंक्ति हटाए जाने या अपडेट किए जाने पर चाइल्ड टेबल में विदेशी कुंजी मान डिफ़ॉल्ट स्तंभ मान पर सेट होते हैं।
  • प्रतिबंध: यह एक विदेशी कुंजी से जुड़ी सामान्य संदर्भात्मक कार्रवाई है। पैरेंट टेबल में एक मूल्य को तब तक हटाया या अपडेट नहीं किया जा सकता, जब तक कि उसे किसी अन्य तालिका में किसी विदेशी कुंजी द्वारा संदर्भित किया जाता है।
  • कोई कार्रवाई नहीं: यह संदर्भात्मक कार्रवाई "प्रतिबंधित" कार्रवाई के समान है, सिवाय इसके कि तालिका में फेरबदल करने की कोशिश के बाद ही कोई कार्रवाई नहीं की जाती है।