संबंध (डेटाबेस)
डेटाबेस सिद्धांत में, एक संबंध, जैसा कि मूल रूप से ईएफ कॉड द्वारा परिभाषित किया गया है। एफ कॉड,[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'
)
यह भी
- रेल्वर | रेल्वर (संबंधपरक चर)
संदर्भ
- ↑ 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.
- ↑ 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 ...
- ↑ 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.
- ↑ 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
- ↑ Jeffrey D. Ullman (1989). Principles of Database and Knowledge-Base Systems. Jeffrey Ullman. pp. 410–. Retrieved 28 November 2012.
- ↑ Dennis Elliott Shasha; Philippe Bonnet (2003). Database Tuning: Principles, Experiments, and Troubleshooting Techniques. Morgan Kaufmann. p. 124. ISBN 978-1-55860-753-8.
- ↑ 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.
- ↑ 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.
- ↑ Michael F. Worboys (1995). Gis: A Computing Perspective. Taylor & Francis. pp. 57–. ISBN 978-0-7484-0065-2. Retrieved 22 November 2012.
- Date, C. J. (2004). An Introduction to Database Systems (8 ed.). Addison–Wesley. ISBN 978-0-321-19784-9.