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