संदर्भिक समग्रता

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

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

औपचारिकता
दो (संभवतः समान) पर उद्योगसमावेशन निर्भरता उद्योगस्कीमा से $$R$$ और $$S$$ की भविष्यवाणी करती है जिसे $$R[A_1, ..., A_n] \subseteq S[B_1, ..., B_n]$$ लिखा जाता है, जहां $$A_i$$, $$B_i$$ $$R$$ और $$S$$ की विशिष्ट विशेषताएँ (स्तंभ नाम) है। इसका अर्थ है कि स्तंभों $$A_1, ..., A_n$$ में दिखाई देने वाले मानों के टुपल्स $$R$$ के तथ्यों के लिए स्तंभ में मानों $$B_1, ..., B_n$$ के कुछ तथ्य के लिए $$S$$ के टपल के रूप में भी दिखाई देने चाहिए।.

इस तरह की बाधा टपल पैदा करने वाली निर्भरता (टीजीडी) का उद्योगविशेष रूप है, जहां नियम के दोनों पक्षों में केवल उद्योगसंबंधपरक परमाणु होता है। पहले क्रम के तर्क $$\forall \vec{x},\vec{y}. (R(\vec{x},\vec{y}) \rightarrow \exists \vec{z} . S(\vec{x},\vec{z}))$$ में इसे व्यक्त किया जा सकता है, जहाँ $$\vec{x}$$ वेक्टर है (जिसका आकार है $$n$$) द्वारा साझा किए गए चर $$R$$ और $$S$$, और कोई चर कई बार न तो टीजीडी के शरीर में और न ही उसके सिर में प्रकट होता है।

समावेशन निर्भरता के बीच तार्किक निहितार्थ को अनुमान नियमों द्वारा स्वयंसिद्ध किया जा सकता है।

और पीएसपीएसीई एल्गोरिथम द्वारा निर्णायक भाषा हो सकती है। रैखिक परिबद्ध स्वयं गतिशील के लिए स्वीकृति समस्या से कमी करके समस्या को पीएसपीएसीई-पूर्ण दिखाया जा सकता है। हालांकि, निर्भरता के बीच तार्किक निहितार्थ जो समावेशन निर्भरता या कार्यात्मक निर्भरता हो सकता है, मोनोइड्स के लिए शब्द समस्या (कम्प्यूटेबिलिटी) से कमी से अनिर्णीत है।

घोषणात्मक संदर्भात्मक
घोषणात्मक संदर्भात्मक अखंडता (डीआरआई) डेटा अखंडता सुनिश्चित करने के लिए एसक्यूएल डेटाबेस प्रोग्रामिंग भाषा की तकनीकों में से उद्योग है।

एसक्यूएल में अर्थ (संरचित क्वेरी भाषा)
उद्योगतालिका (जिसे संदर्भित तालिका कहा जाता है) उद्योगविदेशी कुंजी का उपयोग करके किसी अन्य तालिका (संदर्भित तालिका) में उद्योगस्तंभ (या स्तंभों का उद्योगसमूह) को संदर्भित कर सकती है। संदर्भित तालिका में संदर्भित स्तंभ उद्योगअद्वितीय बाधा के तहत होना चाहिए, जैसे प्राथमिक कुंजी। साथ ही, स्व-संदर्भ संभव हैं (हालांकि एमएस एसक्यूएल सर्वर में पूरी तरह से लागू नहीं किया गया है ). संदर्भ तालिका में उद्योगनई पंक्ति (डेटाबेस) डालने (एसक्यूएल) पर, संबंधपरक डेटाबेस प्रबंधन प्रणाली (आरडीबीएमएस) जांचती है कि संदर्भित तालिका में दर्ज कुंजी मान मौजूद है या नहीं। यदि नहीं, तो कोई सम्मिलन संभव नहीं है। अद्यतन (एसक्यूएल) और हटाएं (एसक्यूएल) पर डीआरआई क्रियाओं को निर्दिष्ट करना भी संभव है, जैसे कि कैस्केड (संदर्भित तालिका में संदर्भ तालिका में परिवर्तन/हटाएं), कोई कार्रवाई नहीं (यदि विशिष्ट पंक्ति संदर्भित है, तो बदलना) key की अनुमति नहीं है) या SET NULL / SET DEFAULT (संदर्भित तालिका में उद्योगपरिवर्तित/हटाई गई कुंजी के परिणामस्वरूप संदर्भित मानों को NULL या DEFAULT मान पर सेट किया जाता है यदि कोई निर्दिष्ट है)।

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

यह भी देखें

 * Null_pointer#Null_dereferencing
 * झूलने वाला सूचक
 * डोमेन/कुंजी सामान्य रूप
 * इकाई
 * कार्यात्मक निर्भरता
 * प्रसार बाधा
 * सरोगेट कुंजी
 * धीरे-धीरे आयाम बदल रहा है

बाहरी संबंध

 * DRI versus Triggers (archived)