संबंध (डेटाबेस)

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

विशेषता का एक समुच्चय जिसमें दो अलग-अलग तत्वों का एक ही नाम नहीं होता है, हेडिंग कहलाता है। उपरोक्त परिभाषाओं से यह पता चलता है कि प्रत्येक ट्यूपल के लिए एक अद्वितीय शीर्षक से मेल खाता है, ट्यूपल से नामों का समुच्चय होने के नाते, उन डोमेन के साथ जोड़ा जाता है जहां से ट्यूपल के डोमेन तत्व लिए जाते हैं। टुपल्स का एक समुच्चय जो सभी एक ही शीर्षक के अनुरूप होते हैं, उन्हें निकाय कहा जाता है। एक संबंध इस प्रकार एक निकाय के साथ जोड़ा गया शीर्षक है, संबंध का शीर्षक उसके शरीर में प्रत्येक टपल का शीर्षक भी है। शीर्षक बनाने वाली विशेषताओं की संख्या को डिग्री कहा जाता है, जो शब्द टुपल्स और संबंधों पर भी लागू होता है। शब्द n-tuple डिग्री n (n ≥ 0) के टपल को संदर्भित करता है।

ए एफ कॉड ने संबंध शब्द का प्रयोग परिमित संबंध के गणितीय अर्थ में n समुच्चय S1, S2, .... ,Sn के कुछ सेट पर टपल्स के एक सेट के रूप में किया है। इस प्रकार, n-ary संबंध की व्याख्या क्लोज्ड-वर्ल्ड धारणा के तहत की जाती है। क्लोज्ड-वर्ल्ड धारणा, कुछ  n-adic प्रेडिकेट (गणितीय तर्क) के विस्तार के रूप में: सभी और केवल वे n-tuples जिनके मूल्य, संबंधित मुक्त के लिए प्रतिस्थापित विधेय में चर, उपज प्रस्ताव जो सही हैं, संबंध में दिखाई देते हैं।

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

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

कार्यान्वयन में, प्रत्येक विशेषता का डोमेन प्रभावी रूप से एक डेटा प्रकार होता है और एक नामित संबंध स्कीमा प्रभावी रूप से एक गनर (संक्षिप्त रूप में रिल्वर) है।

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

उदाहरण
नीचे एक संबंध का एक उदाहरण दिया गया है जिसमें तीन नामित विशेषताएँ हैं: पूर्णांको के डोमेन से 'आईडी', और स्ट्रिंग (कंप्यूटर विज्ञान) के डोमेन से 'नाम' और 'पता':

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

'निकाय' की परिभाषा के तहत, किसी निकाय के टुपल्स किसी विशेष क्रम में प्रकट नहीं होते हैं - कोई यह नहीं कह सकता 'मुराटा मकोतो' का टुपल 'मात्सुमोतो युकिहिरो' के टुपल से ऊपर है, न ही कोई कह सकता है 'योनेज़ावा का टपल' अकिनोरी' पहला टपल है। एक समान टिप्पणी एसक्यूएल तालिका की पंक्तियों पर लागू होती है।

'शीर्षक' की परिभाषा के तहत, किसी तत्व के गुण किसी विशेष क्रम में प्रकट नहीं होते हैं, न ही, इसलिए टपल के तत्व करते हैं। इसी तरह की टिप्पणी यहां एसक्यूएल पर लागू नहीं होती है, जो तालिका के कॉलम के लिए ऑर्डरिंग को परिभाषित करती है।

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

एक आधार संबंध चर एक संबंध चर है जो किसी अन्य संबंध चर से व्युत्पन्न नहीं होता है। एसक्यूएल में बेस टेबल (डेटाबेस) शब्द लगभग बेस रिलेशन वेरिएबल के बराबर है।

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

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

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

यह भी

 * रेल्वर | रेल्वर (संबंधपरक चर)