रिलेशनल डेटाबेस: Difference between revisions
No edit summary |
m (13 revisions imported from alpha:रिलेशनल_डेटाबेस) |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Digital database whose organization is based on the relational model of data}} | {{Short description|Digital database whose organization is based on the relational model of data}} | ||
'''रिलेशनल [[डेटाबेस]]''' डेटा के [[संबंधपरक मॉडल]] पर आधारित (सामान्यतः डिजिटल) डेटाबेस है, जैसा कि 1970 में ई.एफ. कॉड द्वारा प्रस्तावित किया गया था। <ref name=codd/> रिलेशनल डेटाबेस को बनाए रखने के लिए उपयोग की जाने वाली प्रणाली रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (आरडीबीएमएस) है। डेटाबेस को क्वेरी करने और अपडेट करने के लिए कई रिलेशनल डेटाबेस सिस्टम [[SQL|एसक्यूएल]] (स्ट्रक्चर्ड क्वेरी लैंग्वेज) का उपयोग करने के विकल्प से लैस हैं। <ref>{{cite web |last=Ambler |first=Scott |title=Relational Databases 101: Looking at the Whole Picture |url=http://www.agiledata.org/essays/relationalDatabases.html }}{{better source|date=June 2018}}</ref> | |||
== इतिहास == | == इतिहास == | ||
रिलेशनल डेटाबेस शब्द को सबसे पहले 1970 में | रिलेशनल डेटाबेस शब्द को सबसे पहले 1970 में [[IBM|आईबीएम]] में ई.एफ. कॉड द्वारा परिभाषित किया गया था। कॉड ने अपने शोध पत्र "बड़े साझा डेटा बैंकों के लिए डेटा का संबंधपरक मॉडल" में इस शब्द की प्रारंभ की। <ref name="Codd">{{Cite web|url=http://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf|title=A Relational Model of Data for Large Shared Data Banks}}</ref> | ||
इस पेपर और बाद के पेपर्स में, उन्होंने परिभाषित किया कि रिलेशनल से उनका क्या मतलब है। रिलेशनल डेटाबेस सिस्टम का गठन करने वाली | इस पेपर और बाद के पेपर्स में, उन्होंने परिभाषित किया कि रिलेशनल से उनका क्या मतलब है। रिलेशनल डेटाबेस सिस्टम का गठन करने वाली प्रसिद्ध परिभाषा कॉड के 12 नियमों से बनी है। हालाँकि, रिलेशनल मॉडल का कोई भी व्यावसायिक कार्यान्वयन कॉड के सभी नियमों के अनुरूप नहीं है, <ref>{{cite book |last=Date |first=Chris |title=Database in depth: relational theory for practitioners |date=5 May 2005 |publisher=O'Reilly |isbn=0-596-10012-4}}</ref> इसलिए यह शब्द धीरे-धीरे डेटाबेस सिस्टम के व्यापक वर्ग का वर्णन करने लगा है, जो कम से कम: | ||
# उपयोगकर्ता को [[संबंध (डेटाबेस)]] के रूप में डेटा प्रस्तुत करें (सारणीबद्ध रूप में | # उपयोगकर्ता को [[संबंध (डेटाबेस)]] के रूप में डेटा प्रस्तुत करें (सारणीबद्ध रूप में प्रस्तुति, अर्थात [[तालिका (डेटाबेस)]] के संग्रह के रूप में प्रत्येक तालिका में [[पंक्ति (डेटाबेस)]] और कॉलम (डेटाबेस) का सेट होता है); | ||
# सारणीबद्ध रूप में डेटा में हेरफेर करने के लिए रिलेशनल ऑपरेटर्स प्रदान करें। | # सारणीबद्ध रूप में डेटा में हेरफेर करने के लिए रिलेशनल ऑपरेटर्स प्रदान करें। | ||
1974 में, आईबीएम ने | 1974 में, आईबीएम ने प्रोटोटाइप आरडीबीएमएस विकसित करने के लिए शोध परियोजना [[IBM System R|आईबीएम सिस्टम आर]] का विकास प्रारंभ किया।<ref> | ||
{{cite book | {{cite book | ||
|date=8 Jan 1999 | |date=8 Jan 1999 | ||
Line 30: | Line 24: | ||
|quote=The product was called SQL/DS (Structured Query Language/Data Store) and ran under the DOS/VSE operating system environment}}</ref> | |quote=The product was called SQL/DS (Structured Query Language/Data Store) and ran under the DOS/VSE operating system environment}}</ref> | ||
आरडीबीएमएस के रूप में बेची जाने वाली पहली प्रणाली [[मल्टिक्स रिलेशनल डेटा स्टोर]] (जून 1976) थी। | आरडीबीएमएस के रूप में बेची जाने वाली पहली प्रणाली [[मल्टिक्स रिलेशनल डेटा स्टोर]] (जून 1976) थी। ओरेकल डेटाबेस को 1979 में संबंधपरक सॉफ्टवेयर, जो अब [[Oracle Corporation|ओरेकल कॉर्पोरेशन]] है, द्वारा जारी किया गया था। <ref>{{cite journal |date=May 2007 |title=Oracle Timeline |journal=Profit Magazine |publisher=Oracle |volume=12 |issue=2 |page=26 |url=http://www.oracle.com/us/corporate/profit/p27anniv-timeline-151918.pdf |access-date=2013-05-16}}</ref> इंगर्स (डेटाबेस) और [[IBM BS12|आईबीएम बीएस12]] ने अनुसरण किया। आरडीबीएमएस के अन्य उदाहरणों में [[IBM Db2|आईबीएम डीबी2]], अनुकूली सर्वर एंटरप्राइज़ और [[IBM Informix|आईबीएम इन्फोर्मिक्स]] सम्मिलित हैं। 1984 में, [[Macintosh|मैकिनटोश]] के लिए पहला आरडीबीएमएस विकसित होना प्रारंभ हुआ, कोड-नाम सिल्वर सर्फर, और 1987 में चतुर्थ डाइमेंशन (सॉफ्टवेयर) के रूप में जारी किया गया और आज 4[[IBM Db2|डी]] के रूप में जाना जाता है। <ref>{{cite web |title=New Database Software Program Moves Macintosh Into The Big Leagues |website=tribunedigital-chicagotribune |url=http://articles.chicagotribune.com/1987-06-28/business/8702170525_1_silver-surfer-software-developers-macintosh-products |access-date=2016-03-17}}</ref> | ||
पहली प्रणालियाँ जो संबंधपरक मॉडल के अपेक्षाकृत विश्वसनीय कार्यान्वयन थीं: | पहली प्रणालियाँ जो संबंधपरक मॉडल के अपेक्षाकृत विश्वसनीय कार्यान्वयन थीं: | ||
Line 38: | Line 32: | ||
* पीटरली में आईबीएम यूके साइंटिफिक सेंटर - [[IBM IS1|आईबीएम आईएस1]] (1970-72) और इसके उत्तराधिकारी, [[PRTV|पीआरटीवी]] (1973-79) | * पीटरली में आईबीएम यूके साइंटिफिक सेंटर - [[IBM IS1|आईबीएम आईएस1]] (1970-72) और इसके उत्तराधिकारी, [[PRTV|पीआरटीवी]] (1973-79) | ||
आरडीबीएमएस की सबसे आम परिभाषा | आरडीबीएमएस की सबसे आम परिभाषा ऐसा उत्पाद है जो डेटा को पंक्तियों और स्तंभों के संग्रह के रूप में प्रस्तुत करता है, चाहे यह संबंधपरक मॉडल पर सख्ती से आधारित न हो। इस परिभाषा के अनुसार, आरडीबीएमएस उत्पाद सामान्यतः कॉड के सभी 12 नियमों को प्रयुक्त करते हैं किन्तु सभी को नहीं। | ||
विचार के एक दूसरे स्कूल का तर्क है कि यदि कोई डेटाबेस कॉड के सभी नियमों (या संबंधपरक मॉडल पर वर्तमान समझ, जैसा कि क्रिस्टोफर जे. डेट, [[ह्यूग डार्वेन]] और अन्य द्वारा व्यक्त किया गया है) को | विचार के एक दूसरे स्कूल का तर्क है कि यदि कोई डेटाबेस कॉड के सभी नियमों (या संबंधपरक मॉडल पर वर्तमान समझ, जैसा कि क्रिस्टोफर जे. डेट, [[ह्यूग डार्वेन]] और अन्य द्वारा व्यक्त किया गया है) को प्रयुक्त नहीं करता है, तो यह संबंधपरक नहीं है। कई सिद्धांतकारों और कॉड के सिद्धांतों के अन्य सख्त अनुयायियों द्वारा साझा किया गया यह दृश्य, अधिकांश डीबीएमएस को गैर-संबंधपरक के रूप में अयोग्य घोषित कर देगा। स्पष्टीकरण के लिए, वे अधिकांशतः कुछ आरडीबीएमएसs को ट्रूली-रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (टीआरडीबीएमएस) के रूप में संदर्भित करते हैं, दूसरों को स्यूडो-रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (पीआरडीबीएमएस) नाम देते हैं। | ||
2009 तक, अधिकांश व्यावसायिक संबंधपरक डीबीएमएस एसक्यूएल को अपनी क्वेरी भाषा के रूप में नियोजित करते हैं। <ref>{{cite journal |last1=Ramakrishnan |first1=Raghu |last2=Donjerkovic |first2=Donko |last3=Ranganathan |first3=Arvind |last4=Beyer |first4=Kevin S. |last5=Krishnaprasad |first5=Muralidhar |year=1998 |title=SRQL: Sorted Relational Query Language |journal=E Proceedings of SSDBM |url=http://pages.cs.wisc.edu/~beyer/papers/srql_ssdbm98.pdf}}</ref> | 2009 तक, अधिकांश व्यावसायिक संबंधपरक डीबीएमएस एसक्यूएल को अपनी क्वेरी भाषा के रूप में नियोजित करते हैं। <ref>{{cite journal |last1=Ramakrishnan |first1=Raghu |last2=Donjerkovic |first2=Donko |last3=Ranganathan |first3=Arvind |last4=Beyer |first4=Kevin S. |last5=Krishnaprasad |first5=Muralidhar |year=1998 |title=SRQL: Sorted Relational Query Language |journal=E Proceedings of SSDBM |url=http://pages.cs.wisc.edu/~beyer/papers/srql_ssdbm98.pdf}}</ref> | ||
Line 49: | Line 43: | ||
{{Main|संबंधपरक मॉडल}} | {{Main|संबंधपरक मॉडल}} | ||
रिलेशनल मॉडल डेटा को कॉलम (डेटाबेस) और पंक्ति (डेटाबेस) की एक या अधिक तालिका (डेटाबेस) (या संबंध) में व्यवस्थित करता है, जिसमें प्रत्येक पंक्ति की पहचान करने वाली अनूठी कुंजी होती है। पंक्तियों को रिकॉर्ड (कंप्यूटर विज्ञान) या [[tuple|टुपलेस]] भी कहा जाता है। <ref>{{cite web |title=A Relational Database Overview |website=oracle.com |url=https://docs.oracle.com/javase/tutorial/jdbc/overview/database.html}}</ref> कॉलम को एट्रिब्यूट भी कहा जाता है। सामान्यतः, प्रत्येक तालिका/संबंध एक इकाई प्रकार (जैसे ग्राहक या उत्पाद) का प्रतिनिधित्व करता है। पंक्तियाँ उस प्रकार की इकाई (जैसे ली या कुर्सी) के उदाहरणों का प्रतिनिधित्व करती हैं और कॉलम उस उदाहरण (जैसे पता या मूल्य) के लिए जिम्मेदार मूल्यों का प्रतिनिधित्व करते हैं। | |||
उदाहरण के लिए, कक्षा तालिका की प्रत्येक पंक्ति | उदाहरण के लिए, कक्षा तालिका की प्रत्येक पंक्ति वर्ग से मेल खाती है, और कक्षा कई छात्रों से मेल खाती है, इसलिए कक्षा तालिका और छात्र तालिका के बीच का संबंध एक से कई है। <ref>{{Citation |date=1992 |title=A universal relation model for a nested database |work=The Nested Universal Relation Database Model |series=Lecture Notes in Computer Science |volume=595 |pages=109–135 |place=Berlin, Heidelberg |publisher=Springer Berlin Heidelberg |doi=10.1007/3-540-55493-9_5 |isbn=978-3-540-55493-6 |url=http://dx.doi.org/10.1007/3-540-55493-9_5 |access-date=2020-11-01}}</ref> | ||
== कुंजी == | == कुंजी == | ||
तालिका में प्रत्येक पंक्ति की अपनी अनूठी कुंजी होती है। लिंक की गई पंक्ति की अनूठी कुंजी के लिए | तालिका में प्रत्येक पंक्ति की अपनी अनूठी कुंजी होती है। लिंक की गई पंक्ति की अनूठी कुंजी के लिए कॉलम जोड़कर तालिका में पंक्तियों को अन्य तालिकाओं में पंक्तियों से जोड़ा जा सकता है (ऐसे कॉलम को विदेशी कुंजियों के रूप में जाना जाता है)। कॉड ने दिखाया कि इच्छानुसार जटिलता के डेटा संबंधों को अवधारणाओं के सरल सेट द्वारा दर्शाया जा सकता है। | ||
इस प्रसंस्करण के भाग में तालिका में एक और केवल एक पंक्ति को लगातार चुनने या संशोधित करने में सक्षम होना | इस प्रसंस्करण के भाग में तालिका में एक और केवल एक पंक्ति को लगातार चुनने या संशोधित करने में सक्षम होना सम्मिलित है। इसलिए, अधिकांश भौतिक कार्यान्वयन में तालिका में प्रत्येक पंक्ति के लिए अद्वितीय [[प्राथमिक कुंजी]] (पीके) होती है। जब तालिका में नई पंक्ति लिखी जाती है, तो प्राथमिक कुंजी के लिए नया अनूठा मान उत्पन्न होता है; यह वह कुंजी है जिसका उपयोग सिस्टम मुख्य रूप से तालिका तक पहुँचने के लिए करता है। सिस्टम प्रदर्शन पीके के लिए अनुकूलित है। अन्य, अधिक प्राकृतिक कुंजियों को भी वैकल्पिक कुंजियों (एके) के रूप में पहचाना और परिभाषित किया जा सकता है। एके बनाने के लिए अधिकांशतः कई स्तंभों की आवश्यकता होती है (यह कारण है कि पूर्णांक स्तंभ को सामान्यतः पीके बना दिया जाता है)। पीके और एके दोनों में तालिका के भीतर विशिष्ट रूप से पंक्ति की पहचान करने की क्षमता होती है। व्यापक सिस्टम आवश्यकताएँ होने पर, दुनिया भर में अद्वितीय आईडी, [[विश्व स्तर पर अद्वितीय पहचानकर्ता]] सुनिश्चित करने के लिए अतिरिक्त विधि प्रयुक्त की जा सकती है। | ||
डेटाबेस के भीतर प्राथमिक कुंजियों का उपयोग तालिकाओं के बीच संबंधों को परिभाषित करने के लिए किया जाता है। जब कोई पीके किसी अन्य टेबल पर माइग्रेट होता है, तो यह दूसरी टेबल में | डेटाबेस के भीतर प्राथमिक कुंजियों का उपयोग तालिकाओं के बीच संबंधों को परिभाषित करने के लिए किया जाता है। जब कोई पीके किसी अन्य टेबल पर माइग्रेट होता है, तो यह दूसरी टेबल में विदेशी कुंजी बन जाता है। जब प्रत्येक सेल में केवल एक मान हो सकता है और पीके नियमित इकाई तालिका में माइग्रेट हो जाता है, तो यह डिज़ाइन पैटर्न या तो [[एक-से-एक (डेटा मॉडल)]] | एक-से-एक या एक-से-अनेक (डेटा मॉडल) का प्रतिनिधित्व कर सकता है। |एक-से-अनेक संबंध. अधिकांश रिलेशनल डेटाबेस डिज़ाइन [[मैनी-टू-मैनी (डेटा मॉडल)]]|मैनी-टू-मैनी संबंधों को अतिरिक्त टेबल बनाकर हल करते हैं जिसमें दोनों अन्य एंटिटी टेबल से पीके होते हैं{{snd}} रिश्ता एक इकाई बन जाता है; समाधान तालिका को उचित रूप से नाम दिया गया है और दो एफके को पीके बनाने के लिए जोड़ा गया है। पीके का अन्य तालिकाओं में स्थानांतरण दूसरा प्रमुख कारण है कि क्यों सिस्टम-असाइन किए गए पूर्णांक सामान्य रूप से पीके के रूप में उपयोग किए जाते हैं; सामान्यतः अन्य प्रकार के स्तंभों के समूह को स्थानांतरित करने में न तो दक्षता होती है और न ही स्पष्टता। | ||
=== रिश्ते === | === रिश्ते === | ||
संबंध इन तालिकाओं के बीच परस्पर क्रिया के आधार पर स्थापित विभिन्न तालिकाओं के बीच | संबंध इन तालिकाओं के बीच परस्पर क्रिया के आधार पर स्थापित विभिन्न तालिकाओं के बीच तार्किक संबंध है। | ||
== लेन-देन == | == लेन-देन == | ||
डेटाबेस प्रबंधन प्रणाली (डीबीएमएस) को कुशलतापूर्वक और त्रुटिहीन रूप से संचालित करने के लिए, इसे एसीआईडी लेनदेन का उपयोग करना चाहिए। <ref>{{ | |||
cite web | cite web | ||
|date=1998-11-23 | |date=1998-11-23 | ||
Line 75: | Line 69: | ||
== संग्रहित प्रक्रियाएं == | == संग्रहित प्रक्रियाएं == | ||
आरडीबीएमएस के भीतर प्रोग्रामिंग का | आरडीबीएमएस के भीतर प्रोग्रामिंग का हिस्सा संग्रहीत कार्यविधियों (एसपी) का उपयोग करके पूरा किया जाता है। सिस्टम के भीतर और बाहर स्थानांतरित जानकारी की मात्रा को कम करने के लिए अधिकांशतः प्रक्रियाओं का उपयोग किया जा सकता है। बढ़ी हुई सुरक्षा के लिए, सिस्टम डिज़ाइन केवल संग्रहीत कार्यविधियों तक पहुँच प्रदान कर सकता है और सीधे तालिकाओं तक नहीं। मौलिक संग्रहीत कार्यविधियों में नया सम्मिलित करने और आधुनिक डेटा को अद्यतन करने के लिए आवश्यक तर्क सम्मिलित हैं। डेटा के प्रसंस्करण या चयन से संबंधित अतिरिक्त नियमों और तर्क को प्रयुक्त करने के लिए अधिक जटिल प्रक्रियाएं लिखी जा सकती हैं। | ||
== शब्दावली == | == शब्दावली == | ||
[[Image:Relational database terms.svg|350px|thumb|right|संबंधपरक डेटाबेस शब्दावली]]रिलेशनल डेटाबेस को पहली बार जून 1970 में आईबीएम के [[आईबीएम अल्माडेन रिसर्च सेंटर]] के एडगर एफ. कॉड द्वारा परिभाषित किया गया था। <ref name=codd>{{cite journal |last=Codd |first=E. F. |author-link=Edgar F. Codd |year=1970 |title=A Relational Model of Data for Large Shared Data Banks |journal=[[Communications of the ACM]] |doi=10.1145/362384.362685 |volume=13 |number=6 |pages=377–387|s2cid=207549016 |doi-access=free }}</ref> आरडीबीएमएस के रूप में अर्हता प्राप्त करने के बारे में कॉड के दृष्टिकोण को कॉड के 12 नियमों में संक्षेपित किया गया है। | [[Image:Relational database terms.svg|350px|thumb|right|संबंधपरक डेटाबेस शब्दावली]]रिलेशनल डेटाबेस को पहली बार जून 1970 में आईबीएम के [[आईबीएम अल्माडेन रिसर्च सेंटर]] के एडगर एफ. कॉड द्वारा परिभाषित किया गया था। <ref name=codd>{{cite journal |last=Codd |first=E. F. |author-link=Edgar F. Codd |year=1970 |title=A Relational Model of Data for Large Shared Data Banks |journal=[[Communications of the ACM]] |doi=10.1145/362384.362685 |volume=13 |number=6 |pages=377–387|s2cid=207549016 |doi-access=free }}</ref> आरडीबीएमएस के रूप में अर्हता प्राप्त करने के बारे में कॉड के दृष्टिकोण को कॉड के 12 नियमों में संक्षेपित किया गया है। रिलेशनल डेटाबेस डेटाबेस का प्रमुख प्रकार बन गया है। रिलेशनल मॉडल के अतिरिक्त अन्य मॉडलों में [[पदानुक्रमित डेटाबेस मॉडल]] और [[नेटवर्क मॉडल]] सम्मिलित हैं। | ||
नीचे दी गई तालिका कुछ सबसे महत्वपूर्ण संबंधपरक डेटाबेस शर्तों और संबंधित एसक्यूएल शब्द का सार प्रस्तुत करती है: | नीचे दी गई तालिका कुछ सबसे महत्वपूर्ण संबंधपरक डेटाबेस शर्तों और संबंधित एसक्यूएल शब्द का सार प्रस्तुत करती है: | ||
Line 93: | Line 87: | ||
|- | |- | ||
| [[Column (database)|'''''कॉलम''''']] | | [[Column (database)|'''''कॉलम''''']] | ||
| '''''गुण''''' | | '''''गुण''''' या '''''मैदान''''' | ||
| टपल का | | टपल का लेबल वाला तत्व, उदा। "पता" या "जन्म तिथि" | ||
|- | |- | ||
| [[Table (database)|'''''Table''''']] | | [[Table (database)|'''''Table''''']] | ||
| [[Relation (database)|'''''संबंध''''']] या [[relvar|'''''बेस रिल्वर''''']] | | [[Relation (database)|'''''संबंध''''']] या [[relvar|'''''बेस रिल्वर''''']] | ||
| समान विशेषताओं को साझा करने वाले टुपल्स का | | समान विशेषताओं को साझा करने वाले टुपल्स का सेट; स्तंभों और पंक्तियों का सेट | ||
|- | |- | ||
| [[View (SQL)|'''''देखें''''']] | | [[View (SQL)|'''''देखें''''']] या '''''[[result set|परिणाम सेट]]''''' | ||
| '''''व्युत्पन्न रिल्वर''''' | | '''''व्युत्पन्न रिल्वर''''' | ||
| टुपल्स का कोई सेट; | | टुपल्स का कोई सेट; [[query language|प्रश्न]] के उत्तर में 12एम्स की ओर से एक डेटा रिपोर्ट | ||
|} | |} | ||
Line 108: | Line 102: | ||
== संबंध या टेबल == | == संबंध या टेबल == | ||
{{Main|संबंध (डेटाबेस)|तालिका (डेटाबेस)}} | {{Main|संबंध (डेटाबेस)|तालिका (डेटाबेस)}} | ||
एक रिलेशनल डेटाबेस में, | एक रिलेशनल डेटाबेस में, रिलेशन (डेटाबेस) टुपल्स का सेट होता है जिसमें समान [[विशेषता (कंप्यूटिंग)]] होती है। टपल सामान्यतः वस्तु और उस वस्तु के बारे में जानकारी का प्रतिनिधित्व करता है। वस्तुएं सामान्यतः भौतिक वस्तुएं या अवधारणाएं होती हैं। संबंध को सामान्यतः टेबल (डेटाबेस) के रूप में वर्णित किया जाता है, जो पंक्ति (डेटाबेस) और कॉलम (डेटाबेस) में व्यवस्थित होता है। विशेषता द्वारा संदर्भित सभी डेटा ही [[डेटा डोमेन]] में हैं और समान बाधाओं के अनुरूप हैं। | ||
रिलेशनल मॉडल निर्दिष्ट करता है कि किसी संबंध के ट्यूपल्स का कोई विशिष्ट क्रम नहीं होता है और ट्यूपल्स, बदले में, एट्रीब्यूट्स पर कोई ऑर्डर नहीं थोपते हैं। एप्लिकेशन प्रश्नों को निर्दिष्ट करके डेटा तक पहुंचते हैं, जो संचालन का उपयोग करते हैं जैसे कि टुपल्स की पहचान करने के लिए चयन करें, विशेषताओं की पहचान करने के लिए प्रोजेक्ट करें और संबंधों को संयोजित करने के लिए जुड़ें। इन्सर्ट, डिलीट और अपडेट ऑपरेटरों का उपयोग करके संबंधों को संशोधित किया जा सकता है। नए टपल स्पष्ट मान प्रदान कर सकते हैं या किसी क्वेरी से प्राप्त किए जा सकते हैं। इसी तरह, अद्यतन या हटाने के लिए प्रश्न टुपल्स की पहचान करते हैं। | रिलेशनल मॉडल निर्दिष्ट करता है कि किसी संबंध के ट्यूपल्स का कोई विशिष्ट क्रम नहीं होता है और ट्यूपल्स, बदले में, एट्रीब्यूट्स पर कोई ऑर्डर नहीं थोपते हैं। एप्लिकेशन प्रश्नों को निर्दिष्ट करके डेटा तक पहुंचते हैं, जो संचालन का उपयोग करते हैं जैसे कि टुपल्स की पहचान करने के लिए चयन करें, विशेषताओं की पहचान करने के लिए प्रोजेक्ट करें और संबंधों को संयोजित करने के लिए जुड़ें। इन्सर्ट, डिलीट और अपडेट ऑपरेटरों का उपयोग करके संबंधों को संशोधित किया जा सकता है। नए टपल स्पष्ट मान प्रदान कर सकते हैं या किसी क्वेरी से प्राप्त किए जा सकते हैं। इसी तरह, अद्यतन या हटाने के लिए प्रश्न टुपल्स की पहचान करते हैं। | ||
टुपल्स परिभाषा के अनुसार अद्वितीय हैं। यदि टपल में | टुपल्स परिभाषा के अनुसार अद्वितीय हैं। यदि टपल में [[उम्मीदवार कुंजी]] या प्राथमिक कुंजी है तो प्रकट है कि यह अद्वितीय है; हालाँकि, प्राथमिक कुंजी को पंक्ति या रिकॉर्ड के लिए टपल होने के लिए परिभाषित करने की आवश्यकता नहीं है। टपल की परिभाषा के लिए यह आवश्यक है कि यह अद्वितीय हो, किन्तु परिभाषित करने के लिए प्राथमिक कुंजी की आवश्यकता नहीं है। क्योंकि टपल अद्वितीय है, परिभाषा के अनुसार इसकी विशेषताएँ [[key|कुंजी]] का गठन करती हैं। | ||
== आधार और व्युत्पन्न संबंध == | == आधार और व्युत्पन्न संबंध == | ||
{{Main|रिल्वर|देखें (डेटाबेस)}} | {{Main|रिल्वर|देखें (डेटाबेस)}} | ||
सभी डेटा को रिलेशन (डेटाबेस) के माध्यम से संग्रहीत और एक्सेस किया जाता है। डेटा स्टोर करने वाले संबंधों को आधार संबंध कहा जाता है, और कार्यान्वयन में तालिकाओं को कहा जाता है। अन्य संबंध डेटा को संग्रहीत नहीं करते हैं, | सभी डेटा को रिलेशन (डेटाबेस) के माध्यम से संग्रहीत और एक्सेस किया जाता है। डेटा स्टोर करने वाले संबंधों को आधार संबंध कहा जाता है, और कार्यान्वयन में तालिकाओं को कहा जाता है। अन्य संबंध डेटा को संग्रहीत नहीं करते हैं, किन्तु अन्य संबंधों के संबंधपरक संक्रियाओं को प्रयुक्त करके गणना की जाती है। इन संबंधों को कभी-कभी व्युत्पन्न संबंध कहा जाता है। कार्यान्वयन में इन्हें [[देखें (डेटाबेस)]] या क्वेरी कहा जाता है। व्युत्पन्न संबंध इस मायने में सुविधाजनक हैं कि वे संबंध के रूप में कार्य करते हैं, चाहे वे कई संबंधों से जानकारी प्राप्त कर सकते हैं। साथ ही, व्युत्पन्न संबंधों को [[अमूर्त परत]] के रूप में उपयोग किया जा सकता है। | ||
=== डोमेन === | === डोमेन === | ||
{{Main|डेटा डोमेन}} | {{Main|डेटा डोमेन}} | ||
एक डोमेन किसी दिए गए एट्रिब्यूट के लिए संभावित मानों के सेट का वर्णन करता है, और एट्रिब्यूट के मान पर | एक डोमेन किसी दिए गए एट्रिब्यूट के लिए संभावित मानों के सेट का वर्णन करता है, और एट्रिब्यूट के मान पर बाधा माना जा सकता है। गणितीय रूप से, डोमेन को विशेषता से जोड़ने का अर्थ है कि विशेषता के लिए कोई भी मान निर्दिष्ट सेट का तत्व होना चाहिए। उदाहरण के लिए, वर्ण स्ट्रिंग एबीसी पूर्णांक डोमेन में नहीं है, किन्तु पूर्णांक मान 123 है। डोमेन का अन्य उदाहरण फ़ील्ड कॉइनफेस के लिए संभावित मानों का वर्णन करता है (हेड्स, टेल्स)। इसलिए, फ़ील्ड कॉइनफेस (0,1) या (एच, टी) जैसे इनपुट मान स्वीकार नहीं करेगा। | ||
== बाधाएं == | == बाधाएं == | ||
किसी विशेषता के डोमेन को और प्रतिबंधित करना संभव बनाने के लिए | किसी विशेषता के डोमेन को और प्रतिबंधित करना संभव बनाने के लिए अधिकांशतः बाधाओं का उपयोग किया जाता है। उदाहरण के लिए, एक बाधा किसी दिए गए पूर्णांक विशेषता को 1 और 10 के बीच के मानों तक सीमित कर सकती है। बाधाएं डेटाबेस में व्यावसायिक नियमों को प्रयुक्त करने का प्रणाली प्रदान करती हैं और एप्लिकेशन परत के भीतर बाद के डेटा उपयोग का समर्थन करती हैं। एसक्यूएल चेक बाधाओं के रूप में बाधा कार्यक्षमता प्रयुक्त करता है। | ||
प्रतिबंध उस डेटा को प्रतिबंधित करते हैं जिसे संबंध (डेटाबेस) में संग्रहीत किया जा सकता है। इन्हें | प्रतिबंध उस डेटा को प्रतिबंधित करते हैं जिसे संबंध (डेटाबेस) में संग्रहीत किया जा सकता है। इन्हें सामान्यतः एक्सप्रेशन का उपयोग करके परिभाषित किया जाता है जिसके परिणामस्वरूप [[बूलियन डेटा प्रकार]] मान, यह दर्शाता है कि डेटा बाधा को संतुष्ट करता है या नहीं। प्रतिबन्ध एकल विशेषताओं, टपल (विशेषताओं के संयोजन को प्रतिबंधित करना) या संपूर्ण संबंध पर प्रयुक्त हो सकते हैं। | ||
चूँकि प्रत्येक विशेषता का | चूँकि प्रत्येक विशेषता का संबद्ध डोमेन होता है, इसलिए बाधाएँ (डोमेन बाधाएँ) होती हैं। रिलेशनल मॉडल के लिए दो प्रमुख नियमों को इकाई अखंडता और संदर्भात्मक अखंडता के रूप में जाना जाता है। | ||
=== प्राथमिक कुंजी === | === प्राथमिक कुंजी === | ||
{{Main|अनूठी कुंजी|प्राथमिक कुंजी}} | {{Main|अनूठी कुंजी|प्राथमिक कुंजी}} | ||
प्रत्येक संबंध (डेटाबेस)/टेबल की प्राथमिक कुंजी होती है, यह | प्रत्येक संबंध (डेटाबेस)/टेबल की प्राथमिक कुंजी होती है, यह [[सेट (गणित)]] होने के संबंध का परिणाम है। {{Sfnp|Date|1984|p=268}} प्राथमिक कुंजी विशिष्ट रूप से तालिका के भीतर टपल निर्दिष्ट करती है। जबकि प्राकृतिक विशेषताएँ (प्रविष्ट किए जा रहे डेटा का वर्णन करने के लिए उपयोग की जाने वाली विशेषताएँ) कभी-कभी अच्छी प्राथमिक कुंजियाँ होती हैं, इसके अतिरिक्त अधिकांशतः सरोगेट कुंजियों का उपयोग किया जाता है। [[सरोगेट कुंजी]] कृत्रिम विशेषता है जो किसी वस्तु को सौंपी जाती है जो इसे विशिष्ट रूप से पहचानती है (उदाहरण के लिए, स्कूल में छात्रों के बारे में जानकारी की तालिका में उन्हें अलग करने के लिए सभी को छात्र आईडी सौंपी जा सकती है)। सरोगेट कुंजी का कोई आंतरिक (अंतर्निहित) अर्थ नहीं है, बल्कि इसकी विशिष्ट रूप से टपल की पहचान करने की क्षमता के माध्यम से उपयोगी है। | ||
एक अन्य सामान्य घटना, विशेष रूप से एन:एम कार्डिनैलिटी के संबंध में [[यौगिक कुंजी]] है। समग्र कुंजी एक तालिका के भीतर दो या दो से अधिक विशेषताओं से बनी कुंजी है जो (एक साथ) विशिष्ट रूप से रिकॉर्ड की पहचान करती है। | |||
Line 140: | Line 135: | ||
=== विदेशी कुंजी === | === विदेशी कुंजी === | ||
{{Main|विदेशी कुंजी}} | {{Main|विदेशी कुंजी}} | ||
विदेशी कुंजी | विदेशी कुंजी संबंधपरक तालिका में फ़ील्ड को संदर्भित करती है जो किसी अन्य तालिका के प्राथमिक कुंजी कॉलम से मेल खाती है। यह दो चाबियों से संबंधित है। संदर्भ संबंध में विदेशी कुंजी के अद्वितीय मान होने की आवश्यकता नहीं है। [[प्रति संदर्भ]] टेबल के लिए विदेशी कुंजी का उपयोग किया जा सकता है, और यह संदर्भित संबंध में एक या एक से अधिक विशेषताओं के डोमेन को प्रतिबंधित करने के लिए संदर्भित संबंध में विशेषताओं के मूल्यों का प्रभावी ढंग से उपयोग करता है। अवधारणा को औपचारिक रूप से वर्णित किया गया है: संदर्भित विशेषताओं पर प्रक्षेपित संदर्भित संबंध में सभी टुपल्स के लिए, संदर्भित संबंध में टपल उपस्थित होना चाहिए जो समान विशेषताओं पर अनुमानित हो, जैसे कि प्रत्येक संदर्भित विशेषताओं में मान संबंधित मूल्यों से मेल खाते हों। संदर्भित गुण। | ||
=== संग्रहीत कार्यविधियाँ === | === संग्रहीत कार्यविधियाँ === | ||
{{Main|संग्रहीत प्रक्रिया}} | {{Main|संग्रहीत प्रक्रिया}} | ||
एक संग्रहीत कार्यविधि निष्पादन योग्य कोड है जो डेटाबेस से जुड़ा होता है और | एक संग्रहीत कार्यविधि निष्पादन योग्य कोड है जो डेटाबेस से जुड़ा होता है और सामान्यतः इसमें संग्रहीत होता है। संग्रहीत कार्यविधियाँ सामान्यतः सामान्य संचालन को इकट्ठा और अनुकूलित करती हैं, जैसे संबंध (डेटाबेस) में टपल सम्मिलित करना, उपयोग पैटर्न के बारे में सांख्यिकीय जानकारी एकत्र करना, या जटिल व्यावसायिक तर्क और गणनाओं को समाहित करना। अधिकांशतः वे सुरक्षा या सरलता के लिए [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]] (एपीआई) के रूप में उपयोग किए जाते हैं। एसक्यूएल आरडीबीएमएस पर संग्रहीत प्रक्रियाओं के कार्यान्वयन अधिकांशतः डेवलपर्स को मानक [[घोषणात्मक प्रोग्रामिंग]] एसक्यूएल सिंटैक्स के लिए [[प्रक्रियात्मक प्रोग्रामिंग]] एक्सटेंशन (अधिकांशतः विक्रेता-विशिष्ट) का लाभ लेने की अनुमति देते हैं। | ||
संग्रहीत कार्यविधियाँ संबंधपरक डेटाबेस मॉडल का हिस्सा नहीं हैं, | संग्रहीत कार्यविधियाँ संबंधपरक डेटाबेस मॉडल का हिस्सा नहीं हैं, किन्तु सभी व्यावसायिक कार्यान्वयन में वे सम्मिलित हैं। | ||
=== सूचकांक === | === सूचकांक === | ||
{{Main|सूचकांक (डेटाबेस)}} | {{Main|सूचकांक (डेटाबेस)}} | ||
इंडेक्स डेटा तक त्वरित पहुंच प्रदान करने का | इंडेक्स डेटा तक त्वरित पहुंच प्रदान करने का प्रणाली है। संबंध (डेटाबेस) पर विशेषताओं के किसी भी संयोजन पर सूचकांक बनाए जा सकते हैं। उन विशेषताओं का उपयोग करके फ़िल्टर करने वाली क्वेरीज़ इंडेक्स ([[हैश तालिका]] लुकअप के समान) का उपयोग करके सीधे मिलान वाले टुपल्स को पा सकती हैं, बदले में प्रत्येक टपल की जांच किए बिना। यह उस पृष्ठ पर सीधे जाने के लिए [[अनुक्रमणिका (प्रकाशन)]] का उपयोग करने के समान है, जिस पर आप जो जानकारी खोज रहे हैं, वह पाई जाती है, जिससे आप जो खोज रहे हैं उसे खोजने के लिए आपको पूरी किताब न पढ़नी पड़े। संबंधपरक डेटाबेस सामान्यतः कई अनुक्रमण विधि की आपूर्ति करते हैं, जिनमें से प्रत्येक डेटा वितरण, संबंध आकार और विशिष्ट पहुंच पैटर्न के कुछ संयोजन के लिए इष्टतम है। इंडेक्स सामान्यतः [[बी + पेड़]], आर-पेड़ और [[बिटमैप इंडेक्स]] के माध्यम से कार्यान्वित किए जाते हैं। | ||
सूचकांकों को | सूचकांकों को सामान्यतः डेटाबेस का हिस्सा नहीं माना जाता है, क्योंकि उन्हें कार्यान्वयन विवरण माना जाता है, यद्यपि सूचकांकों को सामान्यतः उसी समूह द्वारा बनाए रखा जाता है जो डेटाबेस के अन्य भागों को बनाए रखता है। प्राथमिक और विदेशी दोनों कुंजियों पर कुशल अनुक्रमणिका का उपयोग नाटकीय रूप से क्वेरी प्रदर्शन में सुधार कर सकता है। ऐसा इसलिए है क्योंकि [[आर-वृक्ष]] इंडेक्स का परिणाम लॉग (एन) के आनुपातिक क्वेरी समय में होता है, जहां एन तालिका में पंक्तियों की संख्या होती है और हैश इंडेक्स का परिणाम निरंतर समय के प्रश्नों में होता है (जब तक इंडेक्स का प्रासंगिक हिस्सा फिट नहीं होता तब तक कोई आकार निर्भरता नहीं होती है) याद)। | ||
== रिलेशनल ऑपरेशंस == | == रिलेशनल ऑपरेशंस == | ||
{{Main|संबंधपरक बीजगणित}} | {{Main|संबंधपरक बीजगणित}} | ||
रिलेशनल डेटाबेस के विरुद्ध की गई क्वेरीज़, और डेटाबेस में व्युत्पन्न [[अस्रकार]] [[संबंधपरक गणना]] या रिलेशनल बीजगणित में व्यक्त किए जाते हैं। अपने मूल [[संबंधपरक बीजगणित]] में, कॉड ने आठ संबंधपरक ऑपरेटरों को चार ऑपरेटरों के दो समूहों में | रिलेशनल डेटाबेस के विरुद्ध की गई क्वेरीज़, और डेटाबेस में व्युत्पन्न [[अस्रकार]] [[संबंधपरक गणना]] या रिलेशनल बीजगणित में व्यक्त किए जाते हैं। अपने मूल [[संबंधपरक बीजगणित]] में, कॉड ने आठ संबंधपरक ऑपरेटरों को चार ऑपरेटरों के दो समूहों में भेंट किया। पहले चार ऑपरेटर पारंपरिक गणितीय सेट सिद्धांत पर आधारित थे: | ||
* [[संघ (सेट सिद्धांत)]] ऑपरेटर (υ) दो संबंधों (डेटाबेस) के ट्यूपल्स को जोड़ता है और परिणाम से सभी डुप्लिकेट ट्यूपल्स को हटा देता है। रिलेशनल यूनियन ऑपरेटर [[संघ (एसक्यूएल)]] ऑपरेटर के बराबर है। | * [[संघ (सेट सिद्धांत)]] ऑपरेटर (υ) दो संबंधों (डेटाबेस) के ट्यूपल्स को जोड़ता है और परिणाम से सभी डुप्लिकेट ट्यूपल्स को हटा देता है। रिलेशनल यूनियन ऑपरेटर [[संघ (एसक्यूएल)]] ऑपरेटर के बराबर है। | ||
* इंटरसेक्शन ([[समुच्चय सिद्धान्त]]) ऑपरेटर (∩) टुपल्स के सेट का उत्पादन करता है जो दो संबंधों को साझा करता है। इंटरसेक्शन को एसक्यूएल में इंटरसेक्ट (एसक्यूएल) ऑपरेटर के रूप में कार्यान्वित किया जाता है। | * इंटरसेक्शन ([[समुच्चय सिद्धान्त]]) ऑपरेटर (∩) टुपल्स के सेट का उत्पादन करता है जो दो संबंधों को साझा करता है। इंटरसेक्शन को एसक्यूएल में इंटरसेक्ट (एसक्यूएल) ऑपरेटर के रूप में कार्यान्वित किया जाता है। | ||
* [[पूरक (सेट सिद्धांत)]] ऑपरेटर (-) दो संबंधों पर कार्य करता है और पहले संबंध से टुपल्स का सेट उत्पन्न करता है जो दूसरे संबंध में | * [[पूरक (सेट सिद्धांत)]] ऑपरेटर (-) दो संबंधों पर कार्य करता है और पहले संबंध से टुपल्स का सेट उत्पन्न करता है जो दूसरे संबंध में उपस्थित नहीं होता है। अंतर को एसक्यूएल में एक्सेप्ट (एसक्यूएल) या मिनस ऑपरेटर के रूप में कार्यान्वित किया जाता है। | ||
* दो संबंधों का कार्टेशियन उत्पाद (एक्स) | * दो संबंधों का कार्टेशियन उत्पाद (एक्स) ऐसा जुड़ाव है जो किसी भी मानदंड से प्रतिबंधित नहीं है, जिसके परिणामस्वरूप पहले संबंध का प्रत्येक ट्यूपल दूसरे संबंध के प्रत्येक ट्यूपल से मेल खाता है। कार्टेशियन उत्पाद एसक्यूएल में [[क्रॉस जॉइन करें]] ऑपरेटर के रूप में प्रयुक्त किया गया है। | ||
कॉड द्वारा प्रस्तावित शेष ऑपरेटरों में रिलेशनल डेटाबेस के लिए विशेष ऑपरेशन | कॉड द्वारा प्रस्तावित शेष ऑपरेटरों में रिलेशनल डेटाबेस के लिए विशेष ऑपरेशन सम्मिलित हैं: | ||
* चयन, या प्रतिबंध, ऑपरेशन (σ) | * चयन, या प्रतिबंध, ऑपरेशन (σ) संबंध से टुपल्स को पुनः प्राप्त करता है, परिणामों को केवल उन तक सीमित करता है जो विशिष्ट मानदंड को पूरा करते हैं, [[चौराहा (सेट सिद्धांत)]] के संदर्भ में [[सबसेट]]। चयन का एसक्यूएल समतुल्य चयन (एसक्यूएल) क्वेरी स्टेटमेंट है जिसमें कहाँ (एसक्यूएल) खंड है। | ||
* प्रोजेक्शन (रिलेशनल बीजगणित) (π) टपल या टुपल्स के सेट से केवल निर्दिष्ट विशेषताओं को निकालता है। | * प्रोजेक्शन (रिलेशनल बीजगणित) (π) टपल या टुपल्स के सेट से केवल निर्दिष्ट विशेषताओं को निकालता है। | ||
* रिलेशनल डेटाबेस के लिए परिभाषित जॉइन ऑपरेशन को | * रिलेशनल डेटाबेस के लिए परिभाषित जॉइन ऑपरेशन को अधिकांशतः प्राकृतिक जॉइन (⋈) के रूप में जाना जाता है। इस प्रकार के जुड़ाव में, दो संबंध उनके सामान्य गुणों से जुड़े होते हैं। मेरा एसक्यूएल का प्राकृतिक जुड़ाव का सन्निकटन [[आंतरिक रूप से जुड़ा]] ऑपरेटर है। एसक्यूएल में,आंतरिक रूप से जुड़ा कार्टेशियन उत्पाद को तब होने से रोकता है जब किसी क्वेरी में दो तालिकाएँ हों। एसक्यूएल क्वेरी में जोड़ी गई प्रत्येक तालिका के लिए, कार्टेशियन उत्पाद को रोकने के लिए अतिरिक्त आंतरिक रूप से जोड़ा जाता है। इस प्रकार, एसक्यूएल क्वेरी में एन तालिकाओं के लिए, कार्तीय उत्पाद को रोकने के लिए एन−1 इनर जॉइन्स होना चाहिए। | ||
[[प्रक्षेपण (संबंधपरक बीजगणित)]] | [[प्रक्षेपण (संबंधपरक बीजगणित)]] या डिवीजन (÷) ऑपरेशन थोड़ा अधिक जटिल ऑपरेशन है और अनिवार्य रूप से एक दूसरे संबंध (भाजक) को विभाजित करने के लिए संबंध (लाभांश) के टुपल्स का उपयोग करना सम्मिलित है। रिलेशनल डिवीजन ऑपरेटर कार्तीय उत्पाद ऑपरेटर (इसलिए नाम) के प्रभावी रूप से विपरीत है। | ||
कॉड के मूल आठ के परिचय के बाद से अन्य ऑपरेटरों को | कॉड के मूल आठ के परिचय के बाद से अन्य ऑपरेटरों को भेंट या प्रस्तावित किया गया है, जिसमें रिलेशनल तुलना ऑपरेटर और एक्सटेंशन सम्मिलित हैं जो दूसरों के बीच नेस्टिंग और पदानुक्रमित डेटा के लिए समर्थन प्रदान करते हैं। | ||
== सामान्यीकरण == | == सामान्यीकरण == | ||
{{Main| | {{Main|डेटाबेस सामान्यीकरण}} | ||
सामान्यीकरण को सबसे पहले कॉड द्वारा संबंधपरक मॉडल के | |||
सामान्यीकरण को सबसे पहले कॉड द्वारा संबंधपरक मॉडल के अभिन्न अंग के रूप में प्रस्तावित किया गया था। इसमें गैर-सरल डोमेन (गैर-परमाणु मान) और डेटा के अतिरेक (दोहराव) को खत्म करने के लिए डिज़ाइन की गई प्रक्रियाओं का सेट सम्मिलित है, जो बदले में डेटा हेरफेर विसंगतियों और डेटा अखंडता के हानि को रोकता है। डेटाबेस पर प्रयुक्त सामान्यीकरण के सबसे सामान्य रूपों को डेटाबेस सामान्यीकरण या सामान्य रूप कहा जाता है। | |||
== आरडीबीएमएस == | == आरडीबीएमएस == | ||
[[File:RDBMS structure.png|thumbnail|right|संबंधपरक डेटाबेस की सामान्य संरचना]] | [[File:RDBMS structure.png|thumbnail|right|संबंधपरक डेटाबेस की सामान्य संरचना]] | ||
{{See also| | {{See also|डेटाबेस # डेटाबेस प्रबंधन प्रणाली}} | ||
कॉनॉली और बेग डेटाबेस मैनेजमेंट सिस्टम (डीबीएमएस) को | कॉनॉली और बेग डेटाबेस मैनेजमेंट सिस्टम (डीबीएमएस) को सॉफ्टवेयर सिस्टम के रूप में परिभाषित करते हैं जो उपयोगकर्ताओं को डेटाबेस तक पहुंच को परिभाषित करने, बनाने, बनाए रखने और नियंत्रित करने में सक्षम बनाता है। <ref name="Begg-p64">{{cite book |last1=Connolly |first1=Thomas M. |last2=Begg |first2=Carolyn E. |date=2014 |title=Database Systems – A Practical Approach to Design Implementation and Management |edition=6th |publisher=Pearson |isbn=978-1292061184 |page=64}}</ref> आरडीबीएमएस उस परिवर्णी शब्द का विस्तार है जो कभी-कभी अंतर्निहित डेटाबेस के संबंधपरक होने पर उपयोग किया जाता है। | ||
रिलेशनल डेटाबेस मैनेजमेंट सिस्टम के लिए वैकल्पिक परिभाषा रिलेशनल मॉडल पर आधारित डेटाबेस मैनेजमेंट सिस्टम (डीबीएमएस) है। आज व्यापक रूप से उपयोग किए जाने वाले अधिकांश डेटाबेस इसी मॉडल पर आधारित हैं। <ref>{{cite book |last1=Pratt |first1=Philip J. |last2=Last |first2=Mary Z. |date=2014-09-08 |title=Concepts of Database Management |edition=8 |publisher=Course Technology |isbn=9781285427102 |page=29 }}</ref> | |||
आरडीबीएमएस 1980 के दशक से वित्तीय रिकॉर्ड, निर्माण और रसद जानकारी, कर्मियों के डेटा और अन्य अनुप्रयोगों के लिए उपयोग किए जाने वाले डेटाबेस में सूचना के भंडारण के लिए सामान्य विकल्प रहा है। रिलेशनल डेटाबेस ने अधिकांशतः लीगेसी [[पदानुक्रमित डेटाबेस]] और [[नेटवर्क डेटाबेस]] को बदल दिया है, क्योंकि आरडीबीएमएस को प्रयुक्त करना और प्रशासित करना आसान था। बहरहाल, 1980 और 1990 के दशक में [[वस्तु डेटाबेस]] मैनेजमेंट सिस्टम द्वारा रिलेशनल स्टोर्ड डेटा को निरंतर, असफल चुनौतियों का सामना करना पड़ा, (जो रिलेशनल डेटाबेस और ऑब्जेक्ट-ओरिएंटेड एप्लिकेशन प्रोग्राम के बीच तथाकथित ऑब्जेक्ट-रिलेशनल इम्पीडेंस मिसमैच को संबोधित करने के प्रयास में भेंट किए गए थे), साथ ही 1990 के दशक में एक्सएमएल डेटाबेस प्रबंधन प्रणालियों द्वारा। हालाँकि, प्रौद्योगिकियों के विस्तार के कारण, जैसे कि [[कंप्यूटर क्लस्टर]] की [[क्षैतिज स्केलिंग]], [[NoSQL|नोएसक्यूएल]] डेटाबेस हाल ही में आरडीबीएमएस डेटाबेस के विकल्प के रूप में लोकप्रिय हुए हैं। <ref>{{cite web |title=NoSQL databases eat into the relational database market |date=4 March 2015 |url=https://www.techrepublic.com/article/nosql-databases-eat-into-the-relational-database-market |access-date=2018-03-14}}</ref> | |||
== वितरित संबंधपरक डेटाबेस == | == वितरित संबंधपरक डेटाबेस == | ||
[[DRDA]] | [[DRDA|डीआरडीए]] को 1988 से 1994 की अवधि में आईबीएम के भीतर कार्यसमूह द्वारा डिज़ाइन किया गया था। डीआरडीए नेटवर्क से जुड़े रिलेशनल डेटाबेस को एसक्यूएल अनुरोधों को पूरा करने में सहयोग करने में सक्षम बनाता है। <ref>{{cite journal |last1=Reinsch |first1=R. |date=1988 |title=Distributed database for SAA |journal=IBM Systems Journal |volume=27 |issue=3 |pages=362–389 |doi=10.1147/sj.273.0362}}</ref> <ref>{{cite book |date=1990 |title=Distributed Relational Database Architecture Reference |publisher=IBM Corp. SC26-4651-0}}</ref> | ||
डीआरडीए के संदेशों, प्रोटोकॉल और संरचनात्मक घटकों को वितरित डेटा प्रबंधन आर्किटेक्चर द्वारा परिभाषित किया गया है। | डीआरडीए के संदेशों, प्रोटोकॉल और संरचनात्मक घटकों को वितरित डेटा प्रबंधन आर्किटेक्चर द्वारा परिभाषित किया गया है। | ||
== बाजार हिस्सेदारी == | == बाजार हिस्सेदारी == | ||
[[DB-Engines ranking]]| | [[DB-Engines ranking|डीबी-इंजन रैंकिंग]]|डीबी-इंजन के अनुसार, जनवरी 2023 में डीबी-इंजन.कॉम वेब साइट पर सबसे लोकप्रिय सिस्टम थे: <ref>{{cite web | title=DB-Engines Ranking of Relational DBMS | website=DB-Engines | url=https://db-engines.com/en/ranking/relational+dbms | access-date=2022-04-29}}</ref> | ||
# ओरेकल डाटाबेस | # ओरेकल डाटाबेस | ||
# [[माई एसक्यूएल]] | # [[माई एसक्यूएल]] | ||
Line 195: | Line 193: | ||
# आईबीएम डीबी2 | # आईबीएम डीबी2 | ||
# [[माइक्रोसॉफ्ट पहुंच]] | # [[माइक्रोसॉफ्ट पहुंच]] | ||
# [[SQLite| | # [[SQLite|एसक्यूएलआईटीई]] (मुफ्त सॉफ्टवेयर) | ||
# [[मारियाडीबी]] (मुफ्त सॉफ्टवेयर) | # [[मारियाडीबी]] (मुफ्त सॉफ्टवेयर) | ||
# स्नोफ्लेक इंक। | # स्नोफ्लेक इंक। | ||
# | # माइक्रोसॉफ्ट एज़्योर एसक्यूएल डेटाबेस | ||
# [[अपाचे हाइव]] (मुफ्त सॉफ्टवेयर) | # [[अपाचे हाइव]] (मुफ्त सॉफ्टवेयर) | ||
# [[टेराडाटा]] | # [[टेराडाटा]] | ||
अनुसंधान कंपनी [[गार्टनर]] के अनुसार, 2011 में, राजस्व के हिसाब से पांच प्रमुख [[मालिकाना सॉफ्टवेयर]] रिलेशनल डेटाबेस विक्रेता ओरेकल कॉर्पोरेशन (48.8%), आईबीएम (20.2%), | अनुसंधान कंपनी [[गार्टनर]] के अनुसार, 2011 में, राजस्व के हिसाब से पांच प्रमुख [[मालिकाना सॉफ्टवेयर]] रिलेशनल डेटाबेस विक्रेता ओरेकल कॉर्पोरेशन (48.8%), आईबीएम (20.2%), माइक्रोसॉफ्ट (17.0%), [[SAP AG|एसएपी एजी]] सहित [[Sybase|साइबेस]] (4.6%), और टेराडाटा थे। (3.7%)। <ref>{{cite web |date=2012-04-12 |title=Oracle the clear leader in $24 billion RDBMS market |url=http://itknowledgeexchange.techtarget.com/eye-on-oracle/oracle-the-clear-leader-in-24-billion-rdbms-market/ |access-date=2013-03-01}}</ref> | ||
== यह भी देखें == | == यह भी देखें == | ||
* एसक्यूएल | * एसक्यूएल | ||
* ऑब्जेक्ट डेटाबेस ( | * ऑब्जेक्ट डेटाबेस (ओओडीबीएमएस) | ||
* ऑनलाइन विश्लेषणात्मक प्रसंस्करण ( | * ऑनलाइन विश्लेषणात्मक प्रसंस्करण (ओएलएपी) और [[ROLAP|आरओएलएपी]] (रिलेशनल ऑनलाइन विश्लेषणात्मक प्रसंस्करण) | ||
* [[डेटा वेयरहाउस]] | * [[डेटा वेयरहाउस]] | ||
* [[स्टार स्कीमा]] | * [[स्टार स्कीमा]] | ||
Line 224: | Line 222: | ||
==बाहरी संबंध== | ==बाहरी संबंध== | ||
[[Category:1969 में कंप्यूटर से संबंधित परिचय]] | |||
[[Category:All articles lacking reliable references]] | |||
[[Category: | [[Category:Articles lacking reliable references from June 2018]] | ||
[[Category:Articles with hatnote templates targeting a nonexistent page]] | |||
[[Category:Articles with invalid date parameter in template]] | |||
[[Category:Collapse templates]] | |||
[[Category: | |||
[[Category:Created On 16/02/2023]] | [[Category:Created On 16/02/2023]] | ||
[[Category:Database management systems]] | |||
[[Category:Machine Translated Page]] | |||
[[Category:Navigational boxes| ]] | |||
[[Category:Vigyan Ready]] |
Latest revision as of 08:53, 3 November 2023
रिलेशनल डेटाबेस डेटा के संबंधपरक मॉडल पर आधारित (सामान्यतः डिजिटल) डेटाबेस है, जैसा कि 1970 में ई.एफ. कॉड द्वारा प्रस्तावित किया गया था। [1] रिलेशनल डेटाबेस को बनाए रखने के लिए उपयोग की जाने वाली प्रणाली रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (आरडीबीएमएस) है। डेटाबेस को क्वेरी करने और अपडेट करने के लिए कई रिलेशनल डेटाबेस सिस्टम एसक्यूएल (स्ट्रक्चर्ड क्वेरी लैंग्वेज) का उपयोग करने के विकल्प से लैस हैं। [2]
इतिहास
रिलेशनल डेटाबेस शब्द को सबसे पहले 1970 में आईबीएम में ई.एफ. कॉड द्वारा परिभाषित किया गया था। कॉड ने अपने शोध पत्र "बड़े साझा डेटा बैंकों के लिए डेटा का संबंधपरक मॉडल" में इस शब्द की प्रारंभ की। [3]
इस पेपर और बाद के पेपर्स में, उन्होंने परिभाषित किया कि रिलेशनल से उनका क्या मतलब है। रिलेशनल डेटाबेस सिस्टम का गठन करने वाली प्रसिद्ध परिभाषा कॉड के 12 नियमों से बनी है। हालाँकि, रिलेशनल मॉडल का कोई भी व्यावसायिक कार्यान्वयन कॉड के सभी नियमों के अनुरूप नहीं है, [4] इसलिए यह शब्द धीरे-धीरे डेटाबेस सिस्टम के व्यापक वर्ग का वर्णन करने लगा है, जो कम से कम:
- उपयोगकर्ता को संबंध (डेटाबेस) के रूप में डेटा प्रस्तुत करें (सारणीबद्ध रूप में प्रस्तुति, अर्थात तालिका (डेटाबेस) के संग्रह के रूप में प्रत्येक तालिका में पंक्ति (डेटाबेस) और कॉलम (डेटाबेस) का सेट होता है);
- सारणीबद्ध रूप में डेटा में हेरफेर करने के लिए रिलेशनल ऑपरेटर्स प्रदान करें।
1974 में, आईबीएम ने प्रोटोटाइप आरडीबीएमएस विकसित करने के लिए शोध परियोजना आईबीएम सिस्टम आर का विकास प्रारंभ किया।[5] [6]
आरडीबीएमएस के रूप में बेची जाने वाली पहली प्रणाली मल्टिक्स रिलेशनल डेटा स्टोर (जून 1976) थी। ओरेकल डेटाबेस को 1979 में संबंधपरक सॉफ्टवेयर, जो अब ओरेकल कॉर्पोरेशन है, द्वारा जारी किया गया था। [7] इंगर्स (डेटाबेस) और आईबीएम बीएस12 ने अनुसरण किया। आरडीबीएमएस के अन्य उदाहरणों में आईबीएम डीबी2, अनुकूली सर्वर एंटरप्राइज़ और आईबीएम इन्फोर्मिक्स सम्मिलित हैं। 1984 में, मैकिनटोश के लिए पहला आरडीबीएमएस विकसित होना प्रारंभ हुआ, कोड-नाम सिल्वर सर्फर, और 1987 में चतुर्थ डाइमेंशन (सॉफ्टवेयर) के रूप में जारी किया गया और आज 4डी के रूप में जाना जाता है। [8]
पहली प्रणालियाँ जो संबंधपरक मॉडल के अपेक्षाकृत विश्वसनीय कार्यान्वयन थीं:
- मिशिगन विश्वविद्यालय - माइक्रो रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (1969) [9]
- मैसाचुसेट्स इंस्टीट्यूट ऑफ टेक्नोलॉजी (1971) [10]
- पीटरली में आईबीएम यूके साइंटिफिक सेंटर - आईबीएम आईएस1 (1970-72) और इसके उत्तराधिकारी, पीआरटीवी (1973-79)
आरडीबीएमएस की सबसे आम परिभाषा ऐसा उत्पाद है जो डेटा को पंक्तियों और स्तंभों के संग्रह के रूप में प्रस्तुत करता है, चाहे यह संबंधपरक मॉडल पर सख्ती से आधारित न हो। इस परिभाषा के अनुसार, आरडीबीएमएस उत्पाद सामान्यतः कॉड के सभी 12 नियमों को प्रयुक्त करते हैं किन्तु सभी को नहीं।
विचार के एक दूसरे स्कूल का तर्क है कि यदि कोई डेटाबेस कॉड के सभी नियमों (या संबंधपरक मॉडल पर वर्तमान समझ, जैसा कि क्रिस्टोफर जे. डेट, ह्यूग डार्वेन और अन्य द्वारा व्यक्त किया गया है) को प्रयुक्त नहीं करता है, तो यह संबंधपरक नहीं है। कई सिद्धांतकारों और कॉड के सिद्धांतों के अन्य सख्त अनुयायियों द्वारा साझा किया गया यह दृश्य, अधिकांश डीबीएमएस को गैर-संबंधपरक के रूप में अयोग्य घोषित कर देगा। स्पष्टीकरण के लिए, वे अधिकांशतः कुछ आरडीबीएमएसs को ट्रूली-रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (टीआरडीबीएमएस) के रूप में संदर्भित करते हैं, दूसरों को स्यूडो-रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (पीआरडीबीएमएस) नाम देते हैं।
2009 तक, अधिकांश व्यावसायिक संबंधपरक डीबीएमएस एसक्यूएल को अपनी क्वेरी भाषा के रूप में नियोजित करते हैं। [11]
वैकल्पिक क्वेरी भाषाओं को प्रस्तावित और कार्यान्वित किया गया है, विशेष रूप से 1996 से पहले क्यूयुईएल क्वेरी भाषाओं का कार्यान्वयन।
रिलेशनल मॉडल
रिलेशनल मॉडल डेटा को कॉलम (डेटाबेस) और पंक्ति (डेटाबेस) की एक या अधिक तालिका (डेटाबेस) (या संबंध) में व्यवस्थित करता है, जिसमें प्रत्येक पंक्ति की पहचान करने वाली अनूठी कुंजी होती है। पंक्तियों को रिकॉर्ड (कंप्यूटर विज्ञान) या टुपलेस भी कहा जाता है। [12] कॉलम को एट्रिब्यूट भी कहा जाता है। सामान्यतः, प्रत्येक तालिका/संबंध एक इकाई प्रकार (जैसे ग्राहक या उत्पाद) का प्रतिनिधित्व करता है। पंक्तियाँ उस प्रकार की इकाई (जैसे ली या कुर्सी) के उदाहरणों का प्रतिनिधित्व करती हैं और कॉलम उस उदाहरण (जैसे पता या मूल्य) के लिए जिम्मेदार मूल्यों का प्रतिनिधित्व करते हैं।
उदाहरण के लिए, कक्षा तालिका की प्रत्येक पंक्ति वर्ग से मेल खाती है, और कक्षा कई छात्रों से मेल खाती है, इसलिए कक्षा तालिका और छात्र तालिका के बीच का संबंध एक से कई है। [13]
कुंजी
तालिका में प्रत्येक पंक्ति की अपनी अनूठी कुंजी होती है। लिंक की गई पंक्ति की अनूठी कुंजी के लिए कॉलम जोड़कर तालिका में पंक्तियों को अन्य तालिकाओं में पंक्तियों से जोड़ा जा सकता है (ऐसे कॉलम को विदेशी कुंजियों के रूप में जाना जाता है)। कॉड ने दिखाया कि इच्छानुसार जटिलता के डेटा संबंधों को अवधारणाओं के सरल सेट द्वारा दर्शाया जा सकता है।
इस प्रसंस्करण के भाग में तालिका में एक और केवल एक पंक्ति को लगातार चुनने या संशोधित करने में सक्षम होना सम्मिलित है। इसलिए, अधिकांश भौतिक कार्यान्वयन में तालिका में प्रत्येक पंक्ति के लिए अद्वितीय प्राथमिक कुंजी (पीके) होती है। जब तालिका में नई पंक्ति लिखी जाती है, तो प्राथमिक कुंजी के लिए नया अनूठा मान उत्पन्न होता है; यह वह कुंजी है जिसका उपयोग सिस्टम मुख्य रूप से तालिका तक पहुँचने के लिए करता है। सिस्टम प्रदर्शन पीके के लिए अनुकूलित है। अन्य, अधिक प्राकृतिक कुंजियों को भी वैकल्पिक कुंजियों (एके) के रूप में पहचाना और परिभाषित किया जा सकता है। एके बनाने के लिए अधिकांशतः कई स्तंभों की आवश्यकता होती है (यह कारण है कि पूर्णांक स्तंभ को सामान्यतः पीके बना दिया जाता है)। पीके और एके दोनों में तालिका के भीतर विशिष्ट रूप से पंक्ति की पहचान करने की क्षमता होती है। व्यापक सिस्टम आवश्यकताएँ होने पर, दुनिया भर में अद्वितीय आईडी, विश्व स्तर पर अद्वितीय पहचानकर्ता सुनिश्चित करने के लिए अतिरिक्त विधि प्रयुक्त की जा सकती है।
डेटाबेस के भीतर प्राथमिक कुंजियों का उपयोग तालिकाओं के बीच संबंधों को परिभाषित करने के लिए किया जाता है। जब कोई पीके किसी अन्य टेबल पर माइग्रेट होता है, तो यह दूसरी टेबल में विदेशी कुंजी बन जाता है। जब प्रत्येक सेल में केवल एक मान हो सकता है और पीके नियमित इकाई तालिका में माइग्रेट हो जाता है, तो यह डिज़ाइन पैटर्न या तो एक-से-एक (डेटा मॉडल) | एक-से-एक या एक-से-अनेक (डेटा मॉडल) का प्रतिनिधित्व कर सकता है। |एक-से-अनेक संबंध. अधिकांश रिलेशनल डेटाबेस डिज़ाइन मैनी-टू-मैनी (डेटा मॉडल)|मैनी-टू-मैनी संबंधों को अतिरिक्त टेबल बनाकर हल करते हैं जिसमें दोनों अन्य एंटिटी टेबल से पीके होते हैं – रिश्ता एक इकाई बन जाता है; समाधान तालिका को उचित रूप से नाम दिया गया है और दो एफके को पीके बनाने के लिए जोड़ा गया है। पीके का अन्य तालिकाओं में स्थानांतरण दूसरा प्रमुख कारण है कि क्यों सिस्टम-असाइन किए गए पूर्णांक सामान्य रूप से पीके के रूप में उपयोग किए जाते हैं; सामान्यतः अन्य प्रकार के स्तंभों के समूह को स्थानांतरित करने में न तो दक्षता होती है और न ही स्पष्टता।
रिश्ते
संबंध इन तालिकाओं के बीच परस्पर क्रिया के आधार पर स्थापित विभिन्न तालिकाओं के बीच तार्किक संबंध है।
लेन-देन
डेटाबेस प्रबंधन प्रणाली (डीबीएमएस) को कुशलतापूर्वक और त्रुटिहीन रूप से संचालित करने के लिए, इसे एसीआईडी लेनदेन का उपयोग करना चाहिए। [14] [15] [16]
संग्रहित प्रक्रियाएं
आरडीबीएमएस के भीतर प्रोग्रामिंग का हिस्सा संग्रहीत कार्यविधियों (एसपी) का उपयोग करके पूरा किया जाता है। सिस्टम के भीतर और बाहर स्थानांतरित जानकारी की मात्रा को कम करने के लिए अधिकांशतः प्रक्रियाओं का उपयोग किया जा सकता है। बढ़ी हुई सुरक्षा के लिए, सिस्टम डिज़ाइन केवल संग्रहीत कार्यविधियों तक पहुँच प्रदान कर सकता है और सीधे तालिकाओं तक नहीं। मौलिक संग्रहीत कार्यविधियों में नया सम्मिलित करने और आधुनिक डेटा को अद्यतन करने के लिए आवश्यक तर्क सम्मिलित हैं। डेटा के प्रसंस्करण या चयन से संबंधित अतिरिक्त नियमों और तर्क को प्रयुक्त करने के लिए अधिक जटिल प्रक्रियाएं लिखी जा सकती हैं।
शब्दावली
रिलेशनल डेटाबेस को पहली बार जून 1970 में आईबीएम के आईबीएम अल्माडेन रिसर्च सेंटर के एडगर एफ. कॉड द्वारा परिभाषित किया गया था। [1] आरडीबीएमएस के रूप में अर्हता प्राप्त करने के बारे में कॉड के दृष्टिकोण को कॉड के 12 नियमों में संक्षेपित किया गया है। रिलेशनल डेटाबेस डेटाबेस का प्रमुख प्रकार बन गया है। रिलेशनल मॉडल के अतिरिक्त अन्य मॉडलों में पदानुक्रमित डेटाबेस मॉडल और नेटवर्क मॉडल सम्मिलित हैं।
नीचे दी गई तालिका कुछ सबसे महत्वपूर्ण संबंधपरक डेटाबेस शर्तों और संबंधित एसक्यूएल शब्द का सार प्रस्तुत करती है:
एसक्यूएल अवधि | संबंधपरक डेटाबेस शब्द | विवरण |
---|---|---|
पंक्ति | टपल या अभिलेख | एक आइटम का प्रतिनिधित्व करने वाला डेटा सेट |
कॉलम | गुण या मैदान | टपल का लेबल वाला तत्व, उदा। "पता" या "जन्म तिथि" |
Table | संबंध या बेस रिल्वर | समान विशेषताओं को साझा करने वाले टुपल्स का सेट; स्तंभों और पंक्तियों का सेट |
देखें या परिणाम सेट | व्युत्पन्न रिल्वर | टुपल्स का कोई सेट; प्रश्न के उत्तर में 12एम्स की ओर से एक डेटा रिपोर्ट |
संबंध या टेबल
एक रिलेशनल डेटाबेस में, रिलेशन (डेटाबेस) टुपल्स का सेट होता है जिसमें समान विशेषता (कंप्यूटिंग) होती है। टपल सामान्यतः वस्तु और उस वस्तु के बारे में जानकारी का प्रतिनिधित्व करता है। वस्तुएं सामान्यतः भौतिक वस्तुएं या अवधारणाएं होती हैं। संबंध को सामान्यतः टेबल (डेटाबेस) के रूप में वर्णित किया जाता है, जो पंक्ति (डेटाबेस) और कॉलम (डेटाबेस) में व्यवस्थित होता है। विशेषता द्वारा संदर्भित सभी डेटा ही डेटा डोमेन में हैं और समान बाधाओं के अनुरूप हैं।
रिलेशनल मॉडल निर्दिष्ट करता है कि किसी संबंध के ट्यूपल्स का कोई विशिष्ट क्रम नहीं होता है और ट्यूपल्स, बदले में, एट्रीब्यूट्स पर कोई ऑर्डर नहीं थोपते हैं। एप्लिकेशन प्रश्नों को निर्दिष्ट करके डेटा तक पहुंचते हैं, जो संचालन का उपयोग करते हैं जैसे कि टुपल्स की पहचान करने के लिए चयन करें, विशेषताओं की पहचान करने के लिए प्रोजेक्ट करें और संबंधों को संयोजित करने के लिए जुड़ें। इन्सर्ट, डिलीट और अपडेट ऑपरेटरों का उपयोग करके संबंधों को संशोधित किया जा सकता है। नए टपल स्पष्ट मान प्रदान कर सकते हैं या किसी क्वेरी से प्राप्त किए जा सकते हैं। इसी तरह, अद्यतन या हटाने के लिए प्रश्न टुपल्स की पहचान करते हैं।
टुपल्स परिभाषा के अनुसार अद्वितीय हैं। यदि टपल में उम्मीदवार कुंजी या प्राथमिक कुंजी है तो प्रकट है कि यह अद्वितीय है; हालाँकि, प्राथमिक कुंजी को पंक्ति या रिकॉर्ड के लिए टपल होने के लिए परिभाषित करने की आवश्यकता नहीं है। टपल की परिभाषा के लिए यह आवश्यक है कि यह अद्वितीय हो, किन्तु परिभाषित करने के लिए प्राथमिक कुंजी की आवश्यकता नहीं है। क्योंकि टपल अद्वितीय है, परिभाषा के अनुसार इसकी विशेषताएँ कुंजी का गठन करती हैं।
आधार और व्युत्पन्न संबंध
सभी डेटा को रिलेशन (डेटाबेस) के माध्यम से संग्रहीत और एक्सेस किया जाता है। डेटा स्टोर करने वाले संबंधों को आधार संबंध कहा जाता है, और कार्यान्वयन में तालिकाओं को कहा जाता है। अन्य संबंध डेटा को संग्रहीत नहीं करते हैं, किन्तु अन्य संबंधों के संबंधपरक संक्रियाओं को प्रयुक्त करके गणना की जाती है। इन संबंधों को कभी-कभी व्युत्पन्न संबंध कहा जाता है। कार्यान्वयन में इन्हें देखें (डेटाबेस) या क्वेरी कहा जाता है। व्युत्पन्न संबंध इस मायने में सुविधाजनक हैं कि वे संबंध के रूप में कार्य करते हैं, चाहे वे कई संबंधों से जानकारी प्राप्त कर सकते हैं। साथ ही, व्युत्पन्न संबंधों को अमूर्त परत के रूप में उपयोग किया जा सकता है।
डोमेन
एक डोमेन किसी दिए गए एट्रिब्यूट के लिए संभावित मानों के सेट का वर्णन करता है, और एट्रिब्यूट के मान पर बाधा माना जा सकता है। गणितीय रूप से, डोमेन को विशेषता से जोड़ने का अर्थ है कि विशेषता के लिए कोई भी मान निर्दिष्ट सेट का तत्व होना चाहिए। उदाहरण के लिए, वर्ण स्ट्रिंग एबीसी पूर्णांक डोमेन में नहीं है, किन्तु पूर्णांक मान 123 है। डोमेन का अन्य उदाहरण फ़ील्ड कॉइनफेस के लिए संभावित मानों का वर्णन करता है (हेड्स, टेल्स)। इसलिए, फ़ील्ड कॉइनफेस (0,1) या (एच, टी) जैसे इनपुट मान स्वीकार नहीं करेगा।
बाधाएं
किसी विशेषता के डोमेन को और प्रतिबंधित करना संभव बनाने के लिए अधिकांशतः बाधाओं का उपयोग किया जाता है। उदाहरण के लिए, एक बाधा किसी दिए गए पूर्णांक विशेषता को 1 और 10 के बीच के मानों तक सीमित कर सकती है। बाधाएं डेटाबेस में व्यावसायिक नियमों को प्रयुक्त करने का प्रणाली प्रदान करती हैं और एप्लिकेशन परत के भीतर बाद के डेटा उपयोग का समर्थन करती हैं। एसक्यूएल चेक बाधाओं के रूप में बाधा कार्यक्षमता प्रयुक्त करता है।
प्रतिबंध उस डेटा को प्रतिबंधित करते हैं जिसे संबंध (डेटाबेस) में संग्रहीत किया जा सकता है। इन्हें सामान्यतः एक्सप्रेशन का उपयोग करके परिभाषित किया जाता है जिसके परिणामस्वरूप बूलियन डेटा प्रकार मान, यह दर्शाता है कि डेटा बाधा को संतुष्ट करता है या नहीं। प्रतिबन्ध एकल विशेषताओं, टपल (विशेषताओं के संयोजन को प्रतिबंधित करना) या संपूर्ण संबंध पर प्रयुक्त हो सकते हैं।
चूँकि प्रत्येक विशेषता का संबद्ध डोमेन होता है, इसलिए बाधाएँ (डोमेन बाधाएँ) होती हैं। रिलेशनल मॉडल के लिए दो प्रमुख नियमों को इकाई अखंडता और संदर्भात्मक अखंडता के रूप में जाना जाता है।
प्राथमिक कुंजी
प्रत्येक संबंध (डेटाबेस)/टेबल की प्राथमिक कुंजी होती है, यह सेट (गणित) होने के संबंध का परिणाम है। [17] प्राथमिक कुंजी विशिष्ट रूप से तालिका के भीतर टपल निर्दिष्ट करती है। जबकि प्राकृतिक विशेषताएँ (प्रविष्ट किए जा रहे डेटा का वर्णन करने के लिए उपयोग की जाने वाली विशेषताएँ) कभी-कभी अच्छी प्राथमिक कुंजियाँ होती हैं, इसके अतिरिक्त अधिकांशतः सरोगेट कुंजियों का उपयोग किया जाता है। सरोगेट कुंजी कृत्रिम विशेषता है जो किसी वस्तु को सौंपी जाती है जो इसे विशिष्ट रूप से पहचानती है (उदाहरण के लिए, स्कूल में छात्रों के बारे में जानकारी की तालिका में उन्हें अलग करने के लिए सभी को छात्र आईडी सौंपी जा सकती है)। सरोगेट कुंजी का कोई आंतरिक (अंतर्निहित) अर्थ नहीं है, बल्कि इसकी विशिष्ट रूप से टपल की पहचान करने की क्षमता के माध्यम से उपयोगी है।
एक अन्य सामान्य घटना, विशेष रूप से एन:एम कार्डिनैलिटी के संबंध में यौगिक कुंजी है। समग्र कुंजी एक तालिका के भीतर दो या दो से अधिक विशेषताओं से बनी कुंजी है जो (एक साथ) विशिष्ट रूप से रिकॉर्ड की पहचान करती है।
विदेशी कुंजी
विदेशी कुंजी संबंधपरक तालिका में फ़ील्ड को संदर्भित करती है जो किसी अन्य तालिका के प्राथमिक कुंजी कॉलम से मेल खाती है। यह दो चाबियों से संबंधित है। संदर्भ संबंध में विदेशी कुंजी के अद्वितीय मान होने की आवश्यकता नहीं है। प्रति संदर्भ टेबल के लिए विदेशी कुंजी का उपयोग किया जा सकता है, और यह संदर्भित संबंध में एक या एक से अधिक विशेषताओं के डोमेन को प्रतिबंधित करने के लिए संदर्भित संबंध में विशेषताओं के मूल्यों का प्रभावी ढंग से उपयोग करता है। अवधारणा को औपचारिक रूप से वर्णित किया गया है: संदर्भित विशेषताओं पर प्रक्षेपित संदर्भित संबंध में सभी टुपल्स के लिए, संदर्भित संबंध में टपल उपस्थित होना चाहिए जो समान विशेषताओं पर अनुमानित हो, जैसे कि प्रत्येक संदर्भित विशेषताओं में मान संबंधित मूल्यों से मेल खाते हों। संदर्भित गुण।
संग्रहीत कार्यविधियाँ
एक संग्रहीत कार्यविधि निष्पादन योग्य कोड है जो डेटाबेस से जुड़ा होता है और सामान्यतः इसमें संग्रहीत होता है। संग्रहीत कार्यविधियाँ सामान्यतः सामान्य संचालन को इकट्ठा और अनुकूलित करती हैं, जैसे संबंध (डेटाबेस) में टपल सम्मिलित करना, उपयोग पैटर्न के बारे में सांख्यिकीय जानकारी एकत्र करना, या जटिल व्यावसायिक तर्क और गणनाओं को समाहित करना। अधिकांशतः वे सुरक्षा या सरलता के लिए अप्लिकेशन प्रोग्रामिंग अंतरफलक (एपीआई) के रूप में उपयोग किए जाते हैं। एसक्यूएल आरडीबीएमएस पर संग्रहीत प्रक्रियाओं के कार्यान्वयन अधिकांशतः डेवलपर्स को मानक घोषणात्मक प्रोग्रामिंग एसक्यूएल सिंटैक्स के लिए प्रक्रियात्मक प्रोग्रामिंग एक्सटेंशन (अधिकांशतः विक्रेता-विशिष्ट) का लाभ लेने की अनुमति देते हैं।
संग्रहीत कार्यविधियाँ संबंधपरक डेटाबेस मॉडल का हिस्सा नहीं हैं, किन्तु सभी व्यावसायिक कार्यान्वयन में वे सम्मिलित हैं।
सूचकांक
इंडेक्स डेटा तक त्वरित पहुंच प्रदान करने का प्रणाली है। संबंध (डेटाबेस) पर विशेषताओं के किसी भी संयोजन पर सूचकांक बनाए जा सकते हैं। उन विशेषताओं का उपयोग करके फ़िल्टर करने वाली क्वेरीज़ इंडेक्स (हैश तालिका लुकअप के समान) का उपयोग करके सीधे मिलान वाले टुपल्स को पा सकती हैं, बदले में प्रत्येक टपल की जांच किए बिना। यह उस पृष्ठ पर सीधे जाने के लिए अनुक्रमणिका (प्रकाशन) का उपयोग करने के समान है, जिस पर आप जो जानकारी खोज रहे हैं, वह पाई जाती है, जिससे आप जो खोज रहे हैं उसे खोजने के लिए आपको पूरी किताब न पढ़नी पड़े। संबंधपरक डेटाबेस सामान्यतः कई अनुक्रमण विधि की आपूर्ति करते हैं, जिनमें से प्रत्येक डेटा वितरण, संबंध आकार और विशिष्ट पहुंच पैटर्न के कुछ संयोजन के लिए इष्टतम है। इंडेक्स सामान्यतः बी + पेड़, आर-पेड़ और बिटमैप इंडेक्स के माध्यम से कार्यान्वित किए जाते हैं।
सूचकांकों को सामान्यतः डेटाबेस का हिस्सा नहीं माना जाता है, क्योंकि उन्हें कार्यान्वयन विवरण माना जाता है, यद्यपि सूचकांकों को सामान्यतः उसी समूह द्वारा बनाए रखा जाता है जो डेटाबेस के अन्य भागों को बनाए रखता है। प्राथमिक और विदेशी दोनों कुंजियों पर कुशल अनुक्रमणिका का उपयोग नाटकीय रूप से क्वेरी प्रदर्शन में सुधार कर सकता है। ऐसा इसलिए है क्योंकि आर-वृक्ष इंडेक्स का परिणाम लॉग (एन) के आनुपातिक क्वेरी समय में होता है, जहां एन तालिका में पंक्तियों की संख्या होती है और हैश इंडेक्स का परिणाम निरंतर समय के प्रश्नों में होता है (जब तक इंडेक्स का प्रासंगिक हिस्सा फिट नहीं होता तब तक कोई आकार निर्भरता नहीं होती है) याद)।
रिलेशनल ऑपरेशंस
रिलेशनल डेटाबेस के विरुद्ध की गई क्वेरीज़, और डेटाबेस में व्युत्पन्न अस्रकार संबंधपरक गणना या रिलेशनल बीजगणित में व्यक्त किए जाते हैं। अपने मूल संबंधपरक बीजगणित में, कॉड ने आठ संबंधपरक ऑपरेटरों को चार ऑपरेटरों के दो समूहों में भेंट किया। पहले चार ऑपरेटर पारंपरिक गणितीय सेट सिद्धांत पर आधारित थे:
- संघ (सेट सिद्धांत) ऑपरेटर (υ) दो संबंधों (डेटाबेस) के ट्यूपल्स को जोड़ता है और परिणाम से सभी डुप्लिकेट ट्यूपल्स को हटा देता है। रिलेशनल यूनियन ऑपरेटर संघ (एसक्यूएल) ऑपरेटर के बराबर है।
- इंटरसेक्शन (समुच्चय सिद्धान्त) ऑपरेटर (∩) टुपल्स के सेट का उत्पादन करता है जो दो संबंधों को साझा करता है। इंटरसेक्शन को एसक्यूएल में इंटरसेक्ट (एसक्यूएल) ऑपरेटर के रूप में कार्यान्वित किया जाता है।
- पूरक (सेट सिद्धांत) ऑपरेटर (-) दो संबंधों पर कार्य करता है और पहले संबंध से टुपल्स का सेट उत्पन्न करता है जो दूसरे संबंध में उपस्थित नहीं होता है। अंतर को एसक्यूएल में एक्सेप्ट (एसक्यूएल) या मिनस ऑपरेटर के रूप में कार्यान्वित किया जाता है।
- दो संबंधों का कार्टेशियन उत्पाद (एक्स) ऐसा जुड़ाव है जो किसी भी मानदंड से प्रतिबंधित नहीं है, जिसके परिणामस्वरूप पहले संबंध का प्रत्येक ट्यूपल दूसरे संबंध के प्रत्येक ट्यूपल से मेल खाता है। कार्टेशियन उत्पाद एसक्यूएल में क्रॉस जॉइन करें ऑपरेटर के रूप में प्रयुक्त किया गया है।
कॉड द्वारा प्रस्तावित शेष ऑपरेटरों में रिलेशनल डेटाबेस के लिए विशेष ऑपरेशन सम्मिलित हैं:
- चयन, या प्रतिबंध, ऑपरेशन (σ) संबंध से टुपल्स को पुनः प्राप्त करता है, परिणामों को केवल उन तक सीमित करता है जो विशिष्ट मानदंड को पूरा करते हैं, चौराहा (सेट सिद्धांत) के संदर्भ में सबसेट। चयन का एसक्यूएल समतुल्य चयन (एसक्यूएल) क्वेरी स्टेटमेंट है जिसमें कहाँ (एसक्यूएल) खंड है।
- प्रोजेक्शन (रिलेशनल बीजगणित) (π) टपल या टुपल्स के सेट से केवल निर्दिष्ट विशेषताओं को निकालता है।
- रिलेशनल डेटाबेस के लिए परिभाषित जॉइन ऑपरेशन को अधिकांशतः प्राकृतिक जॉइन (⋈) के रूप में जाना जाता है। इस प्रकार के जुड़ाव में, दो संबंध उनके सामान्य गुणों से जुड़े होते हैं। मेरा एसक्यूएल का प्राकृतिक जुड़ाव का सन्निकटन आंतरिक रूप से जुड़ा ऑपरेटर है। एसक्यूएल में,आंतरिक रूप से जुड़ा कार्टेशियन उत्पाद को तब होने से रोकता है जब किसी क्वेरी में दो तालिकाएँ हों। एसक्यूएल क्वेरी में जोड़ी गई प्रत्येक तालिका के लिए, कार्टेशियन उत्पाद को रोकने के लिए अतिरिक्त आंतरिक रूप से जोड़ा जाता है। इस प्रकार, एसक्यूएल क्वेरी में एन तालिकाओं के लिए, कार्तीय उत्पाद को रोकने के लिए एन−1 इनर जॉइन्स होना चाहिए।
प्रक्षेपण (संबंधपरक बीजगणित) या डिवीजन (÷) ऑपरेशन थोड़ा अधिक जटिल ऑपरेशन है और अनिवार्य रूप से एक दूसरे संबंध (भाजक) को विभाजित करने के लिए संबंध (लाभांश) के टुपल्स का उपयोग करना सम्मिलित है। रिलेशनल डिवीजन ऑपरेटर कार्तीय उत्पाद ऑपरेटर (इसलिए नाम) के प्रभावी रूप से विपरीत है।
कॉड के मूल आठ के परिचय के बाद से अन्य ऑपरेटरों को भेंट या प्रस्तावित किया गया है, जिसमें रिलेशनल तुलना ऑपरेटर और एक्सटेंशन सम्मिलित हैं जो दूसरों के बीच नेस्टिंग और पदानुक्रमित डेटा के लिए समर्थन प्रदान करते हैं।
सामान्यीकरण
सामान्यीकरण को सबसे पहले कॉड द्वारा संबंधपरक मॉडल के अभिन्न अंग के रूप में प्रस्तावित किया गया था। इसमें गैर-सरल डोमेन (गैर-परमाणु मान) और डेटा के अतिरेक (दोहराव) को खत्म करने के लिए डिज़ाइन की गई प्रक्रियाओं का सेट सम्मिलित है, जो बदले में डेटा हेरफेर विसंगतियों और डेटा अखंडता के हानि को रोकता है। डेटाबेस पर प्रयुक्त सामान्यीकरण के सबसे सामान्य रूपों को डेटाबेस सामान्यीकरण या सामान्य रूप कहा जाता है।
आरडीबीएमएस
कॉनॉली और बेग डेटाबेस मैनेजमेंट सिस्टम (डीबीएमएस) को सॉफ्टवेयर सिस्टम के रूप में परिभाषित करते हैं जो उपयोगकर्ताओं को डेटाबेस तक पहुंच को परिभाषित करने, बनाने, बनाए रखने और नियंत्रित करने में सक्षम बनाता है। [18] आरडीबीएमएस उस परिवर्णी शब्द का विस्तार है जो कभी-कभी अंतर्निहित डेटाबेस के संबंधपरक होने पर उपयोग किया जाता है।
रिलेशनल डेटाबेस मैनेजमेंट सिस्टम के लिए वैकल्पिक परिभाषा रिलेशनल मॉडल पर आधारित डेटाबेस मैनेजमेंट सिस्टम (डीबीएमएस) है। आज व्यापक रूप से उपयोग किए जाने वाले अधिकांश डेटाबेस इसी मॉडल पर आधारित हैं। [19]
आरडीबीएमएस 1980 के दशक से वित्तीय रिकॉर्ड, निर्माण और रसद जानकारी, कर्मियों के डेटा और अन्य अनुप्रयोगों के लिए उपयोग किए जाने वाले डेटाबेस में सूचना के भंडारण के लिए सामान्य विकल्प रहा है। रिलेशनल डेटाबेस ने अधिकांशतः लीगेसी पदानुक्रमित डेटाबेस और नेटवर्क डेटाबेस को बदल दिया है, क्योंकि आरडीबीएमएस को प्रयुक्त करना और प्रशासित करना आसान था। बहरहाल, 1980 और 1990 के दशक में वस्तु डेटाबेस मैनेजमेंट सिस्टम द्वारा रिलेशनल स्टोर्ड डेटा को निरंतर, असफल चुनौतियों का सामना करना पड़ा, (जो रिलेशनल डेटाबेस और ऑब्जेक्ट-ओरिएंटेड एप्लिकेशन प्रोग्राम के बीच तथाकथित ऑब्जेक्ट-रिलेशनल इम्पीडेंस मिसमैच को संबोधित करने के प्रयास में भेंट किए गए थे), साथ ही 1990 के दशक में एक्सएमएल डेटाबेस प्रबंधन प्रणालियों द्वारा। हालाँकि, प्रौद्योगिकियों के विस्तार के कारण, जैसे कि कंप्यूटर क्लस्टर की क्षैतिज स्केलिंग, नोएसक्यूएल डेटाबेस हाल ही में आरडीबीएमएस डेटाबेस के विकल्प के रूप में लोकप्रिय हुए हैं। [20]
वितरित संबंधपरक डेटाबेस
डीआरडीए को 1988 से 1994 की अवधि में आईबीएम के भीतर कार्यसमूह द्वारा डिज़ाइन किया गया था। डीआरडीए नेटवर्क से जुड़े रिलेशनल डेटाबेस को एसक्यूएल अनुरोधों को पूरा करने में सहयोग करने में सक्षम बनाता है। [21] [22]
डीआरडीए के संदेशों, प्रोटोकॉल और संरचनात्मक घटकों को वितरित डेटा प्रबंधन आर्किटेक्चर द्वारा परिभाषित किया गया है।
बाजार हिस्सेदारी
डीबी-इंजन रैंकिंग|डीबी-इंजन के अनुसार, जनवरी 2023 में डीबी-इंजन.कॉम वेब साइट पर सबसे लोकप्रिय सिस्टम थे: [23]
- ओरेकल डाटाबेस
- माई एसक्यूएल
- माइक्रोसॉफ्ट एसक्यूएल सर्वर
- पोस्टग्रेएसक्यूएल (मुफ्त सॉफ्टवेयर)
- आईबीएम डीबी2
- माइक्रोसॉफ्ट पहुंच
- एसक्यूएलआईटीई (मुफ्त सॉफ्टवेयर)
- मारियाडीबी (मुफ्त सॉफ्टवेयर)
- स्नोफ्लेक इंक।
- माइक्रोसॉफ्ट एज़्योर एसक्यूएल डेटाबेस
- अपाचे हाइव (मुफ्त सॉफ्टवेयर)
- टेराडाटा
अनुसंधान कंपनी गार्टनर के अनुसार, 2011 में, राजस्व के हिसाब से पांच प्रमुख मालिकाना सॉफ्टवेयर रिलेशनल डेटाबेस विक्रेता ओरेकल कॉर्पोरेशन (48.8%), आईबीएम (20.2%), माइक्रोसॉफ्ट (17.0%), एसएपी एजी सहित साइबेस (4.6%), और टेराडाटा थे। (3.7%)। [24]
यह भी देखें
- एसक्यूएल
- ऑब्जेक्ट डेटाबेस (ओओडीबीएमएस)
- ऑनलाइन विश्लेषणात्मक प्रसंस्करण (ओएलएपी) और आरओएलएपी (रिलेशनल ऑनलाइन विश्लेषणात्मक प्रसंस्करण)
- डेटा वेयरहाउस
- स्टार स्कीमा
- स्नोफ्लेक स्कीमा
संबंधपरक डेटाबेस प्रबंधन प्रणालियों की तुलना सूची
- रिलेशनल डेटाबेस मैनेजमेंट सिस्टम की तुलना
संदर्भ
- ↑ 1.0 1.1 Codd, E. F. (1970). "A Relational Model of Data for Large Shared Data Banks". Communications of the ACM. 13 (6): 377–387. doi:10.1145/362384.362685. S2CID 207549016.
- ↑ Ambler, Scott. "Relational Databases 101: Looking at the Whole Picture".[better source needed]
- ↑ "A Relational Model of Data for Large Shared Data Banks" (PDF).
- ↑ Date, Chris (5 May 2005). Database in depth: relational theory for practitioners. O'Reilly. ISBN 0-596-10012-4.
- ↑ Funding a Revolution: Government Support for Computing Research. National Academies Press. 8 Jan 1999. ISBN 0309062780.
- ↑ Sumathi, S.; Esakkirajan, S. (13 Feb 2008). Fundamentals of Relational Database Management Systems. Springer. ISBN 978-3540483977.
The product was called SQL/DS (Structured Query Language/Data Store) and ran under the DOS/VSE operating system environment
- ↑ "Oracle Timeline" (PDF). Profit Magazine. Oracle. 12 (2): 26. May 2007. Retrieved 2013-05-16.
- ↑ "New Database Software Program Moves Macintosh Into The Big Leagues". tribunedigital-chicagotribune. Retrieved 2016-03-17.
- ↑ "ASetTheoreticDataStructureAndRetrievalLanguage-1972.PDF".
- ↑ SIGFIDET '74 Proceedings of the 1974 ACM SIGFIDET (now SIGMOD) workshop on Data description, access and control
- ↑ Ramakrishnan, Raghu; Donjerkovic, Donko; Ranganathan, Arvind; Beyer, Kevin S.; Krishnaprasad, Muralidhar (1998). "SRQL: Sorted Relational Query Language" (PDF). E Proceedings of SSDBM.
- ↑ "A Relational Database Overview". oracle.com.
- ↑ "A universal relation model for a nested database", The Nested Universal Relation Database Model, Lecture Notes in Computer Science, Berlin, Heidelberg: Springer Berlin Heidelberg, vol. 595, pp. 109–135, 1992, doi:10.1007/3-540-55493-9_5, ISBN 978-3-540-55493-6, retrieved 2020-11-01
- ↑ "Gray to be Honored With A. M. Turing Award This Spring". Microsoft PressPass. 1998-11-23. Archived from the original on 6 February 2009. Retrieved 2009-01-16.
- ↑ Gray, Jim (September 1981). "The Transaction Concept: Virtues and Limitations" (PDF). Proceedings of the 7th International Conference on Very Large Databases. Cupertino, CA: Tandem Computers. pp. 144–154. Retrieved 2006-11-09.
- ↑ Gray, Jim, and Reuter, Andreas, Distributed Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993. ISBN 1-55860-190-2.
- ↑ Date (1984), p. 268.
- ↑ Connolly, Thomas M.; Begg, Carolyn E. (2014). Database Systems – A Practical Approach to Design Implementation and Management (6th ed.). Pearson. p. 64. ISBN 978-1292061184.
- ↑ Pratt, Philip J.; Last, Mary Z. (2014-09-08). Concepts of Database Management (8 ed.). Course Technology. p. 29. ISBN 9781285427102.
- ↑ "NoSQL databases eat into the relational database market". 4 March 2015. Retrieved 2018-03-14.
- ↑ Reinsch, R. (1988). "Distributed database for SAA". IBM Systems Journal. 27 (3): 362–389. doi:10.1147/sj.273.0362.
- ↑ Distributed Relational Database Architecture Reference. IBM Corp. SC26-4651-0. 1990.
- ↑ "DB-Engines Ranking of Relational DBMS". DB-Engines. Retrieved 2022-04-29.
- ↑ "Oracle the clear leader in $24 billion RDBMS market". 2012-04-12. Retrieved 2013-03-01.
स्रोत
- Date, C. J. (1984). DB2 के लिए एक गाइड (student ed.). Addison-Wesley. ISBN 0201113171. OCLC 256383726. OL 2838595M.