संबंध (डेटाबेस): Difference between revisions

From Vigyanwiki
(Created page with "Image:Relational database terms.svg|thumb|संबंध, टपल और विशेषता को क्रमशः तालिका, पंक्ति और स...")
 
m (12 revisions imported from alpha:संबंध_(डेटाबेस))
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Image:Relational database terms.svg|thumb|संबंध, टपल और विशेषता को क्रमशः तालिका, पंक्ति और स्तंभ के रूप में दर्शाया गया है।]][[डेटाबेस]] सिद्धांत में, एक संबंध, जैसा कि मूल रूप से एडगर एफ. कॉड|ई द्वारा परिभाषित किया गया था। एफ कॉड,<ref>{{cite conference
[[Image:Relational database terms.svg|thumb|संबंध, टपल और विशेषता को क्रमशः तालिका, पंक्ति और स्तंभ के रूप में दर्शाया गया है।]][[डेटाबेस]] सिद्धांत में एक '''संबंध''', जैसा कि मूल रूप से ईएफ कॉड द्वारा परिभाषित किया गया है। एफ कॉड,<ref>{{cite conference
|title= Further normalization of the database relational model
|title= Further normalization of the database relational model
|author= E. F. Codd
|author= E. F. Codd
Line 8: Line 8:
|isbn= 013196741X
|isbn= 013196741X
|quote= R is a ''relation'' on these n domains if it is a set of elements of the form (d<sub>1</sub>, d<sub>2</sub>, ..., d<sub>n</sub>) where d<sub>j</sub> ∈ D<sub>j</sub> for each j=1,2,...,n.
|quote= R is a ''relation'' on these n domains if it is a set of elements of the form (d<sub>1</sub>, d<sub>2</sub>, ..., d<sub>n</sub>) where d<sub>j</sub> ∈ D<sub>j</sub> for each j=1,2,...,n.
}}</ref> टुपल्स का एक [[सेट (गणित)]] है (डी<sub>1</sub>, डी<sub>2</sub>, ..., डी<sub>n</sub>), जहां प्रत्येक तत्व डी<sub>j</sub> D का सदस्य है<sub>j</sub>, एक [[डेटा डोमेन]]कॉड की मूल परिभाषा के बावजूद, और गणित में सामान्य परिभाषा के विपरीत, संबंध के ट्यूपल्स के तत्वों के लिए कोई क्रम नहीं है।<ref>{{cite conference
}}</ref> टुपल्स (d<sub>1</sub>, d<sub>2</sub>, ..., d<sub>n</sub>) का [[सेट (गणित)|समुच्चय (गणित)]] है। जहां प्रत्येक तत्व dj एक [[डेटा डोमेन]] Dj का सदस्य है। कॉड की मूल परिभाषा के अतिरिक्त, और गणित में सामान्य परिभाषा के विपरीत, संबंध के ट्यूपल्स के तत्वों के लिए कोई क्रम नहीं है।<ref>{{cite conference
|title= Database in Depth
|title= Database in Depth
|author= C.J. Date
|author= C.J. Date
Line 24: Line 24:
|quote= One reason for abandoning positional concepts altogether in the relations of the relational model is that it is not at all unusual to find database relations, each of which has as many as 50, 100, or even 150 columns.
|quote= One reason for abandoning positional concepts altogether in the relations of the relational model is that it is not at all unusual to find database relations, each of which has as many as 50, 100, or even 150 columns.
|page=3  
|page=3  
}}</ref> इसके बजाय, प्रत्येक तत्व को एक विशेषता मान कहा जाता है। एक विशेषता एक नाम एक डोमेन के साथ जोड़ा जाता है (आजकल अधिक सामान्यतः एक प्रकार या [[डेटा प्रकार]] के रूप में जाना जाता है)। एक विशेषता मान उस विशेषता के डोमेन के एक तत्व के साथ जोड़ा गया एक विशेषता नाम है, और एक टपल विशेषता मानों का एक ''सेट'' है जिसमें दो अलग-अलग तत्वों का एक ही नाम नहीं है। इस प्रकार, कुछ खातों में, एक टपल को फ़ंक्शन (गणित) के रूप में वर्णित किया जाता है, नामों को मूल्यों पर मैप करना।
}}</ref> इसके अतिरिक्त, प्रत्येक तत्व को विशेषता मान कहा जाता है। विशेषता नाम डोमेन के साथ जोड़ा जाता है (आजकल अधिक सामान्यतः प्रकार या [[डेटा प्रकार]] के रूप में जाना जाता है)। विशेषता मान उस विशेषता के डोमेन के तत्व के साथ जोड़ा गया विशेषता नाम है, और टपल विशेषता मानों का ''समुच्चय'' है जिसमें दो अलग-अलग तत्वों का एक ही नाम नहीं है। इस प्रकार, कुछ खातों में, टपल को फ़ंक्शन के रूप में वर्णित किया जाता है, जो नामों को मानों से मैप करता है।।


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


एडगर एफ कॉड | ई। F. Codd ने संबंध शब्द का प्रयोग परिमित संबंध के अपने गणितीय अर्थ में किया, ''n'' सेट ''S'' के कुछ सेट पर tuples का एक सेट<sub>1</sub>, एस<sub>2</sub>, .... ,एस<sub>n</sub>.<ref name="codd-relational-model">{{cite journal | last = Codd | first = Edgar F | title = A Relational Model of Data for Large Shared Data Banks | journal = Communications of the ACM | volume = 13 | issue = 6 | pages = 377–87 |date=June 1970  
एफ कॉड ने संबंध शब्द का प्रयोग परिमित संबंध के गणितीय अर्थ में ''n'' समुच्चय ''S''<sub>1</sub>, ''S''<sub>2</sub>, .... ,''S<sub>n</sub>'' के कुछ समुच्चय पर टपल्स के समुच्चय के रूप में किया है।<ref name="codd-relational-model">{{cite journal | last = Codd | first = Edgar F | title = A Relational Model of Data for Large Shared Data Banks | journal = Communications of the ACM | volume = 13 | issue = 6 | pages = 377–87 |date=June 1970  
|url = http://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf
|url = http://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf
|quote= The term ''relation'' is used here in its accepted mathematical sense
|quote= The term ''relation'' is used here in its accepted mathematical sense
| doi = 10.1145/362384.362685}}</ref> इस प्रकार, एन-एरी संबंध की व्याख्या क्लोज्ड-वर्ल्ड धारणा के तहत की जाती है। क्लोज्ड-वर्ल्ड धारणा, कुछ एन-एडिक प्रेडिकेट (गणितीय तर्क) के विस्तार के रूप में: सभी और केवल वे एन-टुपल्स जिनके मूल्य, संबंधित मुक्त के लिए प्रतिस्थापित विधेय में चर, उपज प्रस्ताव जो सही हैं, संबंध में दिखाई देते हैं।
| doi = 10.1145/362384.362685}}</ref> इस प्रकार, ''n''-ary संबंध की व्याख्या क्लोज्ड-वर्ल्ड धारणा के अनुसार की जाती है। क्लोज्ड-वर्ल्ड धारणा, कुछ ''n''-adic प्रेडिकेट (गणितीय तर्क) के विस्तार के रूप में: सभी और केवल वे ''n''-tuples जिनके मूल्य, संबंधित मुक्त के लिए प्रतिस्थापित विधेय में वेरिएबल्स, उपज प्रस्ताव जो सही हैं, संबंध में दिखाई देते हैं।


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


कभी-कभी नाम शामिल करने के लिए एक संबंध स्कीमा लिया जाता है।<ref name="Ullman1989">{{cite book|author= Jeffrey D. Ullman|title= Principles of Database and Knowledge-Base Systems|url= https://books.google.com/books?id=YmpqAAAAMAAJ&pg=PA410|access-date= 28 November 2012|year= 1989|publisher= Jeffrey Ullman|pages= 410–}}</ref><ref name="ShashaBonnet2003">{{cite book|author1= Dennis Elliott Shasha|author2= Philippe Bonnet|title= Database Tuning: Principles, Experiments, and Troubleshooting Techniques|url= https://books.google.com/books?id=1CJdgVO8PwAC&pg=PA124|year= 2003|publisher= Morgan Kaufmann|isbn= 978-1-55860-753-8|page= 124}}</ref> एक संबंधपरक डेटाबेस परिभाषा ([[डेटाबेस स्कीमा]], जिसे कभी-कभी एक संबंधपरक स्कीमा के रूप में संदर्भित किया जाता है) को इस प्रकार नामित संबंध स्कीमा के संग्रह के रूप में माना जा सकता है।<ref name="RobRob2009">{{cite book|author1= Peter Rob|author2= Carlos Coronel, Peter Rob|title= Database Systems: Design, Implementation, and Management|url= https://books.google.com/books?id=gCzfjlWOVAAC&pg=PA190|access-date= 28 November 2012|year= 2009|publisher= Cengage Learning|isbn= 978-1-4239-0201-0|pages= 190–}}</ref><ref name="HalpinMorgan2008">{{cite book|author1= T. A. Halpin|author2= Antony J. Morgan|author-link2= Tony Morgan (computer scientist)|title= Information Modeling and Relational Databases|url= https://books.google.com/books?id=puO_VlbR_x4C&pg=PA772|access-date= 28 November 2012|year= 2008|publisher= Morgan Kaufmann|isbn= 978-0-12-373568-3|pages= 772–}}</ref>
कभी-कभी नाम सम्मिलित करने के लिए संबंध स्कीमा लिया जाता है।<ref name="Ullman1989">{{cite book|author= Jeffrey D. Ullman|title= Principles of Database and Knowledge-Base Systems|url= https://books.google.com/books?id=YmpqAAAAMAAJ&pg=PA410|access-date= 28 November 2012|year= 1989|publisher= Jeffrey Ullman|pages= 410–}}</ref><ref name="ShashaBonnet2003">{{cite book|author1= Dennis Elliott Shasha|author2= Philippe Bonnet|title= Database Tuning: Principles, Experiments, and Troubleshooting Techniques|url= https://books.google.com/books?id=1CJdgVO8PwAC&pg=PA124|year= 2003|publisher= Morgan Kaufmann|isbn= 978-1-55860-753-8|page= 124}}</ref> संबंधपरक डेटाबेस परिभाषा ([[डेटाबेस स्कीमा]], जिसे कभी-कभी संबंधपरक स्कीमा के रूप में संदर्भित किया जाता है) को इस प्रकार नामित संबंध स्कीमा के संग्रह के रूप में माना जा सकता है।<ref name="RobRob2009">{{cite book|author1= Peter Rob|author2= Carlos Coronel, Peter Rob|title= Database Systems: Design, Implementation, and Management|url= https://books.google.com/books?id=gCzfjlWOVAAC&pg=PA190|access-date= 28 November 2012|year= 2009|publisher= Cengage Learning|isbn= 978-1-4239-0201-0|pages= 190–}}</ref><ref name="HalpinMorgan2008">{{cite book|author1= T. A. Halpin|author2= Antony J. Morgan|author-link2= Tony Morgan (computer scientist)|title= Information Modeling and Relational Databases|url= https://books.google.com/books?id=puO_VlbR_x4C&pg=PA772|access-date= 28 November 2012|year= 2008|publisher= Morgan Kaufmann|isbn= 978-0-12-373568-3|pages= 772–}}</ref>
कार्यान्वयन में, प्रत्येक विशेषता का डोमेन प्रभावी रूप से एक डेटा प्रकार होता है<ref name="Worboys1995">{{cite book|author= Michael F. Worboys|title= Gis: A Computing Perspective|url= https://books.google.com/books?id=duT2fcnQeJMC&pg=PA57|access-date= 22 November 2012|year= 1995|publisher= Taylor & Francis|isbn= 978-0-7484-0065-2|pages= 57–}}</ref> और एक नामित संबंध स्कीमा प्रभावी रूप से एक [[गनर]] (संक्षिप्त रूप में रिल्वर) है।
 
[[SQL]] में, संबंधपरक डेटाबेस के लिए एक [[डेटाबेस भाषा]], संबंधों को [[तालिका (डेटाबेस)]] द्वारा दर्शाया जाता है, जहाँ तालिका की प्रत्येक पंक्ति एक एकल टपल का प्रतिनिधित्व करती है, और जहाँ प्रत्येक विशेषता के मान एक स्तंभ बनाते हैं।


कार्यान्वयन में, प्रत्येक विशेषता का डोमेन प्रभावी रूप से एक डेटा प्रकार होता है<ref name="Worboys1995">{{cite book|author= Michael F. Worboys|title= Gis: A Computing Perspective|url= https://books.google.com/books?id=duT2fcnQeJMC&pg=PA57|access-date= 22 November 2012|year= 1995|publisher= Taylor & Francis|isbn= 978-0-7484-0065-2|pages= 57–}}</ref> और नामित संबंध स्कीमा प्रभावी रूप से [[गनर]] (संक्षिप्त रूप में रिल्वर) है।
== उदाहरण ==
== उदाहरण ==
नीचे एक संबंध का एक उदाहरण दिया गया है जिसमें तीन नामित विशेषताएँ हैं: [[पूर्णांक]]ों के डोमेन से 'आईडी', और [[स्ट्रिंग (कंप्यूटर विज्ञान)]] के डोमेन से 'नाम' और 'पता':
नीचे एक संबंध का उदाहरण दिया गया है जिसमें तीन नामित विशेषताएँ हैं: [[पूर्णांक|पूर्णांको]] के डोमेन से 'आईडी', और [[स्ट्रिंग (कंप्यूटर विज्ञान)]] के डोमेन से 'नाम' और 'पता':


{| class="wikitable"
{| class="wikitable"
! ID (Integer) !! Name (String) !! Address (String)
! आईडी (पूर्णांक) !! नाम (स्ट्रिंग) !! पता (स्ट्रिंग)
|-
|-
| 102 || Yonezawa Akinori || Naha, Okinawa
| 102 || योनेज़ावा अकिनोरी || नाहा, ओकिनावा
|-
|-
| 202 || Nilay Patel || Sendai, Miyagi
| 202 || निलय पटेल || सेंदाई, मियागी
|-
|-
| 104 || Murata Makoto || Kumamoto, Kumamoto
| 104 || मुराता मकोतो || कुमामोटो, कुमामोटो
|-
|-
| 152 || Matsumoto Yukihiro || Okinawa, Okinawa
| 152 || युकिहिरो मात्सुमोतो || ओकिनावा, ओकिनावा
|}
|}
मुक्त चरों को निरूपित करने के लिए विशेषता नामों का उपयोग करते हुए, इस संबंध के लिए एक विधेय हो सकता है, कर्मचारी संख्या आईडी को नाम के रूप में जाना जाता है और पता पर रहता है। संबंध की परीक्षा हमें बताती है कि केवल चार टुपल्स हैं जिनके लिए विधेय सत्य है। इसलिए, उदाहरण के लिए, कर्मचारी 102 को केवल इसी नाम से जाना जाता है, योनेज़ावा अकिनोरी, और नाहा, ओकिनावा के अलावा कहीं और नहीं रहता है। साथ ही, दिखाए गए चार कर्मचारियों के अलावा कोई अन्य कर्मचारी नहीं है, जिसका नाम और पता दोनों हो।
मुक्त वेरिएबल्सों को निरूपित करने के लिए विशेषता नामों का उपयोग करते हुए, इस संबंध के लिए विधेय हो सकता है, कर्मचारी संख्या आईडी को नाम के रूप में जाना जाता है और पता पर रहता है। संबंध की परीक्षा हमें बताती है कि केवल चार टुपल्स हैं जिनके लिए विधेय सत्य है। इसलिए, उदाहरण के लिए, कर्मचारी 102 को केवल इसी नाम से जाना जाता है, योनेज़ावा अकिनोरी, और नाहा, ओकिनावा के अतिरिक्त कहीं और नहीं रहता है। साथ ही, दिखाए गए चार कर्मचारियों के अतिरिक्त कोई अन्य कर्मचारी नहीं है, जिसका नाम और पता दोनों हो।


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


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


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


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


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


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


<वाक्यविन्यास लैंग = एसक्यूएल>
[[डेटा परिभाषा भाषा]] (डीडीएल ) का उपयोग करके, यह आधार संबंध वेरिएबल्स को परिभाषित करने में सक्षम है। एसक्यूएल में, <code>[[Create (SQL)|CREATE TABLE]]</code> सिंटैक्स का उपयोग बेस टेबल को परिभाषित करने के लिए किया जाता है। निम्नलिखित उदाहरण है।
लोगों की सूची बनाएं (
 
  आईडी पूर्णांक,
<syntaxhighlight>
  नाम चार (40),
CREATE TABLE List_of_people (
  पता चार (200),
  ID INTEGER,
  प्राथमिक कुंजी (आईडी)
  Name CHAR(40),
  Address CHAR(200),
  PRIMARY KEY (ID)
)
)
</वाक्यविन्यास हाइलाइट>


डेटा डेफिनिशन लैंग्वेज (DDL) का उपयोग व्युत्पन्न संबंध चर को परिभाषित करने के लिए भी किया जाता है। एसक्यूएल में, <code>[[Create (SQL)|CREATE VIEW]]</code> सिंटैक्स का उपयोग व्युत्पन्न संबंध चर को परिभाषित करने के लिए किया जाता है। निम्नलिखित एक उदाहरण है।
</syntaxhighlight>
 


<वाक्यविन्यास लैंग = एसक्यूएल>
डेटा डेफिनिशन लैंग्वेज (डीडीएल ) का उपयोग व्युत्पन्न संबंध वेरिएबल्स को परिभाषित करने के लिए भी किया जाता है। एसक्यूएल में, <code>[[Create (SQL)|CREATE VIEW]]</code> सिंटैक्स का उपयोग व्युत्पन्न संबंध वेरिएबल्स को परिभाषित करने के लिए किया जाता है। निम्नलिखित उदाहरण है।<syntaxhighlight>
देखें सूची_ऑफ_ओकिनावा_लोगों के रूप में देखें (
CREATE VIEW List_of_Okinawa_people AS (
  आईडी, नाम, पता चुनें
  SELECT ID, Name, Address
   लोगों की सूची से
   FROM List_of_people
   जहां पता '%, ओकिनावा' जैसा है
   WHERE Address LIKE '%, Okinawa'
)
)
</वाक्यविन्यास हाइलाइट>
</syntaxhighlight>


== यह भी ==
== यह भी ==
* रेल्वर | रेल्वर (संबंधपरक चर)
* रेल्वर (संबंधपरक वेरिएबल्स)


== संदर्भ ==
== संदर्भ ==
{{reflist}}
{{reflist}}
*{{Cite book
*
|last=Date
|first=C. J.
|author-link=Christopher J. Date
|year=2004
|title=An Introduction to Database Systems
|edition=8
|publisher=[[Addison–Wesley]]
|isbn=978-0-321-19784-9
|url-access=registration
|url=https://archive.org/details/introductiontoda0000date
}}
{{databases}}
 
{{DEFAULTSORT:Relation (Database)}}[[Category: संबंधपरक मॉडल]] [[Category: SQL कोड उदाहरण के साथ लेख]]
 
 


[[Category: Machine Translated Page]]
[[Category:Collapse templates|Relation (Database)]]
[[Category:Created On 16/02/2023]]
[[Category:Created On 16/02/2023|Relation (Database)]]
[[Category:Database management systems|Relation (Database)]]
[[Category:Machine Translated Page|Relation (Database)]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists|Relation (Database)]]
[[Category:Pages with script errors|Relation (Database)]]
[[Category:Pages with syntax highlighting errors]]
[[Category:SQL कोड उदाहरण के साथ लेख|Relation (Database)]]
[[Category:Sidebars with styles needing conversion|Relation (Database)]]
[[Category:Vigyan Ready]]

Latest revision as of 07:12, 19 October 2023

संबंध, टपल और विशेषता को क्रमशः तालिका, पंक्ति और स्तंभ के रूप में दर्शाया गया है।

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

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

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

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

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

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

उदाहरण

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

आईडी (पूर्णांक) नाम (स्ट्रिंग) पता (स्ट्रिंग)
102 योनेज़ावा अकिनोरी नाहा, ओकिनावा
202 निलय पटेल सेंदाई, मियागी
104 मुराता मकोतो कुमामोटो, कुमामोटो
152 युकिहिरो मात्सुमोतो ओकिनावा, ओकिनावा

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

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

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

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

संबंध वेरिएबल्स

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

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

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

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

CREATE TABLE List_of_people (
 ID INTEGER,
 Name CHAR(40),
 Address CHAR(200),
 PRIMARY KEY (ID)
)


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

CREATE VIEW List_of_Okinawa_people AS (
 SELECT ID, Name, Address
  FROM List_of_people
  WHERE Address LIKE '%, Okinawa'
)

यह भी

  • रेल्वर (संबंधपरक वेरिएबल्स)

संदर्भ

  1. E. F. Codd (Oct 1972). "Further normalization of the database relational model". Data Base Systems. Courant Institute: Prentice-Hall. ISBN 013196741X. R is a relation on these n domains if it is a set of elements of the form (d1, d2, ..., dn) where dj ∈ Dj for each j=1,2,...,n.
  2. C.J. Date (May 2005). Database in Depth. O'Reilly. p. 42. ISBN 0-596-10012-4. ... tuples have no left-to-right ordering to their attributes ...
  3. E.F. Codd (1990). The Relational Model for Database Management, Version 2. Addison-Wesley. p. 3. ISBN 0-201-14192-2. One reason for abandoning positional concepts altogether in the relations of the relational model is that it is not at all unusual to find database relations, each of which has as many as 50, 100, or even 150 columns.
  4. Codd, Edgar F (June 1970). "A Relational Model of Data for Large Shared Data Banks" (PDF). Communications of the ACM. 13 (6): 377–87. doi:10.1145/362384.362685. The term relation is used here in its accepted mathematical sense
  5. Jeffrey D. Ullman (1989). Principles of Database and Knowledge-Base Systems. Jeffrey Ullman. pp. 410–. Retrieved 28 November 2012.
  6. Dennis Elliott Shasha; Philippe Bonnet (2003). Database Tuning: Principles, Experiments, and Troubleshooting Techniques. Morgan Kaufmann. p. 124. ISBN 978-1-55860-753-8.
  7. Peter Rob; Carlos Coronel, Peter Rob (2009). Database Systems: Design, Implementation, and Management. Cengage Learning. pp. 190–. ISBN 978-1-4239-0201-0. Retrieved 28 November 2012.
  8. T. A. Halpin; Antony J. Morgan (2008). Information Modeling and Relational Databases. Morgan Kaufmann. pp. 772–. ISBN 978-0-12-373568-3. Retrieved 28 November 2012.
  9. Michael F. Worboys (1995). Gis: A Computing Perspective. Taylor & Francis. pp. 57–. ISBN 978-0-7484-0065-2. Retrieved 22 November 2012.