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

From Vigyanwiki
(Created page with "Image:Relational database terms.svg|thumb|संबंध, टपल और विशेषता को क्रमशः तालिका, पंक्ति और स...")
 
No edit summary
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> और एक नामित संबंध स्कीमा प्रभावी रूप से एक [[गनर]] (संक्षिप्त रूप में रिल्वर) है।
कार्यान्वयन में, प्रत्येक विशेषता का डोमेन प्रभावी रूप से एक डेटा प्रकार होता है<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]] में, संबंधपरक डेटाबेस के लिए एक [[डेटाबेस भाषा]], संबंधों को [[तालिका (डेटाबेस)]] द्वारा दर्शाया जाता है, जहाँ तालिका की प्रत्येक पंक्ति एक एकल टपल का प्रतिनिधित्व करती है, और जहाँ प्रत्येक विशेषता के मान एक स्तंभ बनाते हैं।
[[SQL|एसक्यूएल]] में, संबंधपरक डेटाबेस के लिए एक [[डेटाबेस भाषा]], संबंधों को [[तालिका (डेटाबेस)]] द्वारा दर्शाया जाता है, जहाँ तालिका की प्रत्येक पंक्ति एक एकल टपल का प्रतिनिधित्व करती है, और जहाँ प्रत्येक विशेषता के मान एक स्तंभ बनाते हैं।


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


{| 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>
लोगों की सूची बनाएं (
CREATE TABLE List_of_people (
  आईडी पूर्णांक,
  ID INTEGER,
  नाम चार (40),
  Name CHAR(40),
  पता चार (200),
  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>


== यह भी ==
== यह भी ==

Revision as of 12:54, 22 February 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.