क्यों शब्द "संबंध (अल)"?


26

अंग्रेजी में, हम बॉब और टिम के बीच के संबंध के बारे में बात कर सकते हैं। शायद वे चचेरे भाई हैं। इस संदर्भ में "संबंध" शब्द मेरे लिए मायने रखता है।

संबंधपरक डेटाबेस के संदर्भ में, मैं समझता हूं कि यह शब्द किसको संदर्भित करता है, लेकिन मुझे समझ में नहीं आता है कि इसका उपयोग क्यों किया जाता है। मुझे लगता है कि यह समझने के लिए कि इसका उपयोग क्यों किया जाता है, इससे मुझे क्षेत्र को बेहतर ढंग से समझने में मदद मिलेगी, इसलिए मैं यह समझना चाहूंगा कि इसका उपयोग क्यों किया जाता है।

  • उदाहरण के लिए, एक व्यक्ति को "संबंध" क्यों माना जाता है? अंग्रेजी में, एक संबंध एक संज्ञा है जो बताता है कि दो संस्थाएं कैसे जुड़ी हुई हैं। यह संस्थाओं के लिए खुद को संदर्भित नहीं करता है। संबंधपरक डेटाबेस के संदर्भ में, "संबंध" स्वयं संस्थाओं को संदर्भित करता है। क्यूं कर?
  • मैं समझता हूं कि संबंधपरक मॉडल पदानुक्रमित और नेटवर्क मॉडल (पूर्व माता-पिता, पड़ोसी) के बाद आया था। लेकिन उन मॉडलों में, संस्थाओं के एक-दूसरे से संबंध भी होते हैं। तो इस मॉडल को रिलेशनल मॉडल क्यों कहें? क्या अधिक विशिष्ट वाक्यांश / शब्द है? या शायद हमें कहना चाहिए कि सभी तीन मॉडल संबंधपरक मॉडल हैं, लेकिन पदानुक्रमित और नेटवर्क मॉडल विशिष्ट प्रकार के संबंधपरक मॉडल हैं?
  • क्या होगा अगर हमारे पास स्टैंडअलोन इकाइयां हैं जो एक दूसरे से संबंधित नहीं हैं। कहते हैं, व्यक्ति, द्वार और वृक्ष। क्या शब्द "संबंध (अल)" अभी भी लागू है?

(शायद यह कई प्रश्न होने चाहिए। मुझे लगा कि उत्तर अत्यधिक संबंधित हैं - शायद इसका सिर्फ एक ही उत्तर है - इसलिए मुझे लगा कि इसके लिए यह एक ही प्रश्न होगा। यदि मैं गलत हूं, तो मुझे बताएं और मैं जानता हूं। 'इसके बजाय अलग प्रश्न बनाएंगे।'


संपादित करें: यह चित्र कल्पना करने के लिए उपयोगी हो सकता है कि एक संबंध एक दूसरे से अलग डोमेन से संबंधित है:

यहाँ छवि विवरण दर्ज करें

जवाबों:


33

सबसे पहले, मैं अत्यधिक वैज्ञानिक शोधपत्र की सिफारिश करता हूं जिसमें डॉ। एडगर फ्रैंक कॉड ने 1970 में आम जनता के लिए रिलेशनल फ्रेमवर्क प्रकाशित किया था, अर्थात, बड़े साझा डेटा बैंकों के लिए डेटा का एक संबंधपरक मॉडल । वहां, धारा 1.1, "परिचय" में, डॉ। कोडड स्वयं कहते हैं कि:

यह पत्र प्राथमिक संबंध सिद्धांत के सिस्टम से संबंधित है, जो स्वरूपित डेटा के बड़े बैंकों को साझा पहुंच प्रदान करता है।


© कम्प्यूटिंग मशीनरी के लिए एसोसिएशन। एसीएम के संचार , खंड 13, अंक 6 (पीपी। 377-387), जून 1970।

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

मैं एक गणितज्ञ नहीं हूं, लेकिन मूल रूप से, एक संबंध सेट के बीच एक संबंध है , तत्वों का एक संग्रह है ( यह बाहरी संसाधन गणितीय संबंध की एक परिभाषा देता है जो इसे एक अलग दृष्टिकोण से समझने में मदद कर सकता है)। जब एक SQL डेटाबेस प्रबंधन प्रणाली (संक्षिप्तता के लिए DBMS) की सहायता से काम करते हैं, तो एक संबंध का एक प्रसिद्ध सन्निकटन एक तालिका है , जिसमें एसोसिएशन अपने कॉलम के प्रकारों के बीच होता है । जाहिर है, SQL प्लेटफार्मों में जो DOMAIN समर्थन (जैसे, Firebird और PostgreSQL ) की पेशकश करते हैं , एसोसिएशन एसोसिएशन के बीच भुगतान करता हैप्रश्न में तालिका के स्तंभों के लिए निर्धारित डोमेन ; महत्वपूर्ण विवरण के लिए नीचे दिए गए अनुभाग देखें।

उस संबंध में, मैं फिर से डॉ। कोडड का हवाला देने जा रहा हूं, जिन्होंने धारा 1.3, "डेटा का एक संबंधपरक दृश्य" में दावा किया है कि:

सम्बन्ध शब्द का प्रयोग यहाँ स्वीकृत गणितीय अर्थ में किया जाता है। दिए गए सेट S 1 , S 2 , ⋯, S n , (जरूरी नहीं कि विशिष्ट), R इन n सेटों पर एक संबंध है यदि यह n -upuples का एक सेट है जिसमें S 1 से इसका पहला तत्व है , तो इसका दूसरा तत्व से एस 2 , और पर इतना। 1 हम R के j वें डोमेन के रूप में S j का उल्लेख करेंगे । जैसा कि ऊपर बताया गया है , R को डिग्री n कहा जाता है। डिग्री 1 के संबंधों को अक्सर यूनीरी , डिग्री 2 बाइनरी , डिग्री 3 टर्नरी और डिग्री एन एन-एरी कहा जाता है

1 अधिक संक्षेप में, आर कार्टेशियन उत्पाद S 1 × S 2 × S 3 ⋯ × S n का सबसेट है


© कम्प्यूटिंग मशीनरी के लिए एसोसिएशन। एसीएम के संचार , खंड 13, अंक 6 (पीपी। 377-387), जून 1970।

और मैं अन्य उत्तरों से सहमत हूं कि यह बताना बहुत प्रासंगिक है कि डॉ। कोडड ने गणितीय संबंध के लिए कुछ अनुकूलन किए हैं ताकि डेटा प्रबंधन के संबंध में इसका अधिक से अधिक लाभ उठाया जा सके, और उन्हें पहले और संदर्भित पेपर में समझाया गया है उनकी व्यापक ग्रंथ सूची में

संबंध और संबंध

इस स्थिति को सामने लाने लायक बात यह है कि इन विषयों के साथ काम करते समय, समान संबंध के कारण भ्रम पैदा हो सकता है , जो शर्तों के संबंध और संबंध की रोजमर्रा (गैर-गणितीय, गैर-तकनीकी) परिभाषाओं के बारे में मौजूद है। मूल अंग्रेजी वक्ता, मुझे विशेष रूप से समझ में आता है-

इकाई-संबंध दृश्य और संबंधपरक मॉडल

अन्य कारक जो मुझे लगता है कि भ्रम पैदा कर सकते हैं (और ऊपर दिए गए दो शब्दों के तकनीकी अर्थों के साथ निकटता से जुड़ा हुआ है) यह है कि, जब डेटाबेस डिजाइन करना सीखते हैं, तो एक छात्र या चिकित्सक को आमतौर पर डॉ द्वारा प्रस्तावित कार्यप्रणाली से परिचित कराया जाता है । । पीटर पिन-शान चेन में इकाई-संबंध डेटा के दृश्य को (1976 में प्रकाशित), जिससे पता चलता है दो अलग अलग औजार (यानी, इकाई और रिश्ते ) एक चित्रित करने के लिए वैचारिक स्कीमा केवल कहा स्कीमा की परिभाषा के बाद, और फिर, स्थिर है, छात्र या व्यवसायी को घोषणा करते समय संबंधपरक शब्दों और उपकरणों (जैसे, संबंध ) से परिचित कराया जाता हैप्रासंगिक डेटाबेस का तार्किक लेआउट। संदर्भ के वैचारिक ढांचे के भीतर, संबंध उन अर्थों को रखता है जो शब्द के रोजमर्रा के अर्थ के बहुत अधिक करीब हैं।

फिर, शायद, वह परिस्थिति भी संबंध और संबंध के मुद्दे को जोड़ती है- लेकिन सबसे पहले वैचारिक स्कीमा को परिभाषित करने का क्रम और बाद में इसी तार्किक डिजाइन की घोषणा करना बिल्कुल उपयुक्त है, क्योंकि मैं निम्नलिखित वर्गों में विस्तार करूंगा-।

आपके प्रत्येक उपवर्ग के प्रति प्रतिक्रिया

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

उपशमन सं। 1

उदाहरण के लिए, एक व्यक्ति को "संबंध" क्यों माना जाता है? अंग्रेजी में, एक संबंध एक संज्ञा है जो बताता है कि दो संस्थाएं कैसे जुड़ी हुई हैं। यह संस्थाओं के लिए खुद को संदर्भित नहीं करता है। संबंधपरक डेटाबेस के संदर्भ में, "संबंध" स्वयं संस्थाओं को संदर्भित करता है। क्यूं कर?

वैचारिक स्तर

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

इसके अलावा, व्यक्ति इकाई प्रकार स्वयं या अन्य इकाई प्रकारों के साथ कुछ संबंध (या संबंध या संबंध ) प्रकार पकड़ सकता है ; उदाहरण के लिए, व्यक्ति उपयोगकर्ताप्रोफाइल नामक एक इकाई प्रकार से जुड़ा हो सकता है , जिसके बदले में ब्याज के अपने गुण हो सकते हैं, हमें उपयोगकर्ता नाम और पासवर्ड बताएं

लेकिन, (ए) इकाई प्रकार, (बी) उनके संबंधित गुण, (सी) इकाई प्रकार और (डी) के बीच संबंधों के प्रकार, गुणों के बीच के संबंध स्वयं ऐसी धारणाएं हैं जो "विशेष व्यावसायिक वातावरण" से संबंधित हैं जिसमें वे हैं महत्व का माना जाता है। वे डेटाबेस डिज़ाइनरों द्वारा उपयोग किए जाने वाले उपकरण हैं जो डिज़ाइन चरण में एक संदर्भ-विशिष्ट वैचारिक स्कीमा को परिभाषित करने के लिए व्यावसायिक विशेषज्ञों के साथ मिलकर काम करते हैं ।

इस प्रकार, वैचारिक स्तर पर हम मूल रूप से उन विचारों की संरचना के साथ काम करते हैं जो वास्तविक दुनिया के खंड में उत्पन्न होते हैं, अर्थात (1) चीजों के प्रोटोटाइप और (2) चीजों के प्रोटोटाइप के बीच संबंधों के प्रोटोटाइप , हम काम नहीं करते हैं। (3) संबंध -यह अंतिम संबंध डेटा के संबंधपरक ढांचे के अर्थ में है-।

तार्किक स्तर

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

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

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

  • Salary (PersonNumber, EffectiveDate, Amount)

... और मान लेते हैं कि, व्यापार के माहौल में, टपल- आईच (i) एक विशेष इकाई के लिए खड़ा है , यानी लागू वैचारिक स्कीमा से एक इकाई प्रकार का उदाहरण है, और (ii) जिसका SQL समकक्ष है पंक्ति -

  • Salary (x, y, z)

… अर्थ लेकर जाएगा

  • "वेतन व्यक्ति PersonNumber से पहचान करने के लिए भुगतान किया xEFFECTIVEDATE पर yकी राशि से मेल खाती है z"

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

वैचारिक स्तर के संबंध और तार्किक स्तर के संबंध

जैसा कि प्रदर्शित किया गया है, मैंने अब डेटाबेस प्रबंधन के साथ दो अलग-अलग स्तरों पर अमूर्त रूप से निपटा है, अर्थात् वैचारिक और तार्किक- और अभी भी एक निम्न स्तर है जिसे भौतिक रूप में जाना जाता है , जिसमें SQL DBMSs में आम तौर पर शामिल होते हैं, जैसे, अनुक्रमित, पृष्ठ, विस्तार। आदि।-।

इसलिए, पहले बताई गई धारणाओं के अनुसार, तार्किक स्तर पर (ए) गणितीय संबंधों के साथ विशेष रूप से काम करता है, जहां (बी) वैचारिक संबंधों या संघों द्वारा प्रतिनिधित्व किया जाता है (सी) ऐसे गणितीय संबंधों के गुत्थियों में निहित मूल्यों , और कहा कि मूल्यों को आमतौर पर FOREIGN कुंजी बाधाओं के माध्यम से सीमांकित किया जाता है ताकि वे लागू संबंधों का सही प्रतिनिधित्व कर सकें।

और, हाँ, साहचर्य संस्थाएं, यानी, कई-से-कई (एम: एन) कार्डिनैलिटी अनुपात के साथ संबंधों के प्रकारों के उदाहरण, एकल गणितीय संबंध के ट्यूप के माध्यम से व्यक्त किए जा सकते हैं-इसके साथ ही संबंधित बाधाओं को उचित रूप से, पाठ्यक्रम।

उपशमन सं। 2

मैं समझता हूं कि संबंधपरक मॉडल पदानुक्रमित और नेटवर्क मॉडल के बाद आया था। लेकिन उन मॉडलों में, संस्थाओं के एक-दूसरे से संबंध भी होते हैं। तो इस मॉडल को रिलेशनल मॉडल क्यों कहें? क्या अधिक विशिष्ट वाक्यांश / शब्द है? या शायद हमें कहना चाहिए कि सभी तीन मॉडल संबंधपरक मॉडल हैं, लेकिन पदानुक्रमित और नेटवर्क मॉडल विशिष्ट प्रकार के संबंधपरक मॉडल हैं?

नेटवर्क और पदानुक्रमित DBMSs ने अपने औपचारिक सैद्धांतिक समर्थन से पहले

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

संबंधपरक ढांचे के साथ तुलना में अधूरा

यह कहा जा रहा है, हालांकि वहाँ हैं श्रेणीबद्ध और नेटवर्क DBMS कि संबंधपरक मॉडल से पहले, और यहां तक ​​कि जब डॉ। कोडड ने प्रत्येक दृष्टिकोण को "मॉडल" के रूप में संदर्भित किया, तो किसी को भी उसी तरह से परिभाषित नहीं किया जाता है जैसे कि संबंधपरक रूपरेखा है। संबंधपरक प्रतिमान (i) परिभाषा, (ii) प्रतिबंध और (iii) डेटा के हेरफेर के लिए वैज्ञानिक निर्माण प्रदान करता है, और पदानुक्रमित और नेटवर्क दृष्टिकोणों में पहले बताए गए सभी प्रकार के निर्माणों को कवर करने के लिए पूर्ण सैद्धांतिक समर्थन का अभाव है।

नेटवर्क और पदानुक्रमित विशेषताएं

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

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

  • (! शारीरिक) ने अपने भाग के लिए, पदानुक्रमिक दृश्य के माध्यम से डेटा का प्रतिनिधित्व करने का प्रस्ताव फाइलों से बना रिकॉर्ड (जो बारी में से मिलकर क्षेत्रों ) एक में आयोजित तीन तरह व्यवस्था; यानी, एक अभिभावक का रिकॉर्ड संभवत: कई बाल समकक्षों द्वारा संकेत के माध्यम से जंजीर है , जो डेटा हेरफेर के संबंध में एक भौतिक पहुंच पथ का निर्माण करता है । यह दृष्टिकोण भी प्रतिकूल है क्योंकि यह वैचारिक और भौतिक पहलुओं के बीच एक उलझाव प्रस्तुत करता है, इसलिए भौतिक भंडारण व्यवस्था में बदलाव के लिए डेटा संरचनाओं के पुनर्गठन की आवश्यकता होती है, जो संबंधित डेटा हेरफेर संचालन में बदलाव की मांग करता है।

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

रिलेशनल मॉडल में उप मॉडल नहीं होते हैं

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

उपशमन सं। 3

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

हाँ, यह पूरी तरह से लागू है यदि कोई एक (1) अनुकूलित गणितीय संबंधों के संकेत द्वारा उन इकाई प्रकारों के बारे में जानकारी का प्रबंधन कर रहा है और (2) किसी दिए गए संबंधपरक डीबीएमएस के समर्थन से एक निश्चित डेटाबेस में तार्किक स्तर पर लागू रिलेशनल संचालन करता है। ।

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


1
मुझे नहीं लगता कि एक "गैर अंग्रेजी वक्ता" गलतफहमी या "संबंध" शब्द से भ्रमित होने के लिए आवश्यक है। जब तक आपने गणित के उस विशेष क्षेत्र का अध्ययन नहीं किया है, यह पूरी तरह से विदेशी परिभाषा है। सच कहूं तो, अगर मुझे नहीं पता था कि इस संदर्भ में "संबंध" का क्या मतलब है, यह जवाब विशेष रूप से मदद नहीं करेगा, हालांकि यह कुछ दिलचस्प है।
IMSoP

1
@IMSoP मैंने इसे पहले नहीं देखा है, लेकिन मेरा इरादा "गैर-देशी अंग्रेजी बोलने वाला" लिखना था, इसलिए मैंने प्रासंगिक अंश अब पूरा कर लिया है। दूसरी ओर, मैं असहमत हूं, यह उत्तर विशेष रूप से मदद करता है क्योंकि मैंने प्रश्न का शीर्षक और (2) प्रश्न के शरीर में निहित सभी उपबंधों को संबोधित किया है, जो कि पोस्ट को अधिक व्यापक रूप से संदर्भित करते हैं। लेकिन, निश्चित रूप से, आप अपनी राय के हकदार हैं।
एमडीसीसीएल

16

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

यह 1941 में अल्फ्रेड टार्स्की द्वारा परिभाषित संबंधपरक बीजगणित पर आधारित है, जो संबंधों की गणना पर आधारित है । उन्होंने प्रतीकात्मक तर्क में शब्द और उपयोग के इतिहास को संक्षेप में प्रस्तुत किया लेकिन उन कार्यों को परिभाषित किया जो अंत में SQL के लिए नींव बन गए।

कॉड ने इसे एक परिभाषा के रूप में बदल दिया जिसे उनके 12 आदेशों में एक रिलेशनल डेटाबेस के रूप में समझा जा सकता है ।


10

शब्द "संबंधपरक" गणित से आता है और संस्थाओं के बीच संबंधों का कोई लेना-देना नहीं है। मैं गणितज्ञ नहीं हूं (जबकि कोडड ने गणित में पीएचडी की थी) और इसलिए वह विस्तृत नहीं होगा, लेकिन आपको द्विआधारी संबंधों पर इस विकिपीडिया लेख की ओर इशारा करेगा । संबंध (डेटाबेस) पर विकिपीडिया प्रविष्टि डेटा प्रबंधन पर लागू करने के लिए गणितीय अवधारणाओं को कैसे कोडित करती है, इस पर अतिरिक्त विवरण देती है। जैसा कि इस गणितीय संरचना को एक संबंध क्यों कहा जाता है, मुझे लगता है कि यह इस विचार के साथ करना है कि संबंध बनाने वाले डोमेन के बीच एक "संबंध" है। सबसे अच्छा स्रोत जिसे मैं बेहतर ढंग से समझना चाहता हूं कि कोडड की मूल सोच फैबियन पास्कल है '। क्रिस डेट ने आरडीएम पर भी बड़े पैमाने पर लिखा है और उनकी थर्ड मैनिफेस्टो साइट में एक सेक्शन पेपर और किताबें हैं। कम्प्यूटिंग प्रोफेशनल्स के लिए उनकी पुस्तक रिलेशनल थ्योरी एक अच्छा परिचय है। आशा है कि ये आपकी मदद करेगा।


7

यह एक सहज नाम है जब आप प्राकृतिक कुंजी के साथ उनके बारे में सोचते हैं। आप एक इकाई का प्रतिनिधित्व करने के रूप में एक सेल मूल्य के बारे में सोच सकते हैं।

Relation: Employee
|--------+------------+--------|
| name   | job        | boss   |
|--------+------------+--------|
| Mark   | owner      | NULL   |
| Bob    | manager    | Mark   |
| Jane   | supervisor | Bob    |
| Claire | supervisor | Bob    |
| John   | cashier    | Jane   |
| Jesse  | cashier    | Jane   |
| Jason  | cashier    | Claire |
|--------+------------+--------|
  • कर्मचारी का नाम "जेन" नौकरी "पर्यवेक्षक" से संबंधित है।
  • कर्मचारी का नाम "जॉन" बॉस "जेन" से संबंधित है।
  • नौकरी "कैशियर" कर्मचारी नामों "जॉन", "जेसी", और "जेसन" से संबंधित है।
  • नौकरी "कैशियर" मालिकों "जेन", और "क्लेयर" से संबंधित है।

मुझे यह उत्तर सबसे सहज लगता है, लेकिन एमडीसीसीएल जितना व्यापक नहीं है। इस जवाब के साथ साथ MDCCL के जवाब का संयोजन मेरे लिए बहुत संतोषजनक है।
एडम ज़ेरनर

6

आपने पहले ही बहुत लंबे उत्तर को स्वीकार कर लिया है, जिसमें डेटाबेस के बारे में बहुत कुछ कहना है, लेकिन मुझे आपके द्वारा पूछे गए प्रश्न का उत्तर दें:

क्यों शब्द "संबंधपरक"।

क्योंकि एक तालिका गणितीय वस्तु "संबंध" का एक ठोस उदाहरण है।

आइए देखें कि विकिपीडिया शब्द "संबंध" के बारे में क्या कहना है (गणित में, RDBMS नहीं), और फिर इसे डेटाबेस में अनुवाद करें:

औपचारिक रूप से, एक संबंध समान डिग्री के n-tuples का एक सेट है। इस प्रकार एक द्विआधारी संबंध जोड़े का एक सेट है, एक त्रिगुट संबंध त्रिक का एक सेट है, और इसके आगे। सेट सिद्धांत की भाषा में, दो सेटों के बीच का संबंध उनके कार्टेशियन उत्पाद का सबसेट है।

Mathematics             | RDBMS
========================|===============
A relation is           | A table is
a set of                | a bunch of 
n-tuples                | rows
of equal degree.        | with the same cell (a.k.a. column) types and sizes.

यह निर्धारित सिद्धांत के साथ जारी है। याद रखें कि यह गणित है, डेटाबेस सामान की तुलना में बहुत अधिक सार है। इस प्रकार अंतिम वाक्य है

दो सेटों के बीच एक संबंध उनके कार्टेशियन उत्पाद का सबसेट है।

यह दो स्तंभों वाली एक तालिका में अनुवाद करता है :

  • चलो कॉलम को "नाम" कहते हैं। इसका गणितीय सेट Aसभी (मानव) नामों का सेट है।
  • कॉलम बीआई "शहर" कहता है। इसका गणितीय सेट Bसभी शहरों का सेट है।
  • कार्टेशियन उत्पाद A x B(गणित में) एक नया सेट है जिसमें सभी जोड़े (उर्फ, ट्यूपल) शामिल हैं (a, b)जहां aका एक सदस्य है A, और bका एक सदस्य है B। यानी, aएक नाम है और bएक शहर है। उदाहरण (Alice, New York)या होंगे (Bob, Hollywood)। लेकिन कार्टेशियन उत्पाद न केवल उन में से कुछ है, बल्कि सभी उनमें से हैं। एक संबंध, इस बिंदु पर जाने के लिए, उस कार्टेशियन उत्पाद का सबसेट है। दूसरे शब्दों में, संबंध किसी भी राशि का जोड़ा है (a, b)जहां aएक नाम है और bएक शहर है, यहां तक ​​कि कोई भी नहीं है।

अब मुझे आशा है कि सभी समझ में आने लगेंगे। RDBMS में, तालिका की पंक्तियाँ उन स्तंभों में सभी संभव संयोजनों के कार्टेशियन उत्पाद का सबसेट निकाल देती हैं। RDBMS का उपयोग करते समय , पूरी तरह से तुच्छ और अप्रासंगिक है।

लेकिन चूंकि कंप्यूटर साइंस, रिलेशनल डेटाबेस सहित, है अपनी जड़ों गणित के क्षेत्र में है, हम अवधि के साथ यहाँ धन्य कर रहे हैं "रिलेशनल"। यह पूरी तरह से अमूर्त है और लोगों के बीच संबंधों या आपके पास क्या है, इसके बारे में कुछ भी नहीं है।

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

NB: गणित में, संबंध डेटाबेस के बारे में नहीं हैं, लेकिन कुछ कार्य जैसे हैं, बस अधिक सामान्य (कृपया, आप सभी गणितज्ञ, अब नाइटपिक करना शुरू न करें, हम dba.SE में हैं, गणित नहीं। मैं जानता हूं; यह गलत तरीका है :)) के आसपास। एक फंक्शन जैसे f(x)=x+1टुपल्स के एक सेट के रूप में भी व्यक्त किया जा सकता है (1, 2), (2, 3), ..., लेकिन टपल के बाएं हाथ पर यह केवल एक बार ही हर नंबर हो सकता है। यानी, यह एक वैध कार्य नहीं होगा (1, 2), (1, 3), ...:। लेकिन बाद होगा एक वैध संबंध हो सकता है; यानी, आप न्यूयॉर्क में एक बॉब हो सकता है और हॉलीवुड में एक बॉब।


5

रिलेशनल डेटाबेस EFCodd के रिलेशनल मॉडल पर आधारित है । संबंधपरक बीजगणित कैसे क्वेरी के लिए डेटा के तरीकों का वर्णन है। एक रिश्ता बस कुछ सेट (डोमेन) के क्रॉसप्रोडक्ट का सबसेट है।

उदाहरण

हमारे पास निम्नलिखित सेट हैं:

DepIds = {1, 2, 3, ...}
EmpIds = {1, 2, 3, ...}
DepNames = {'Engineering', 'Finance', 'Sales', ...}
FirstNames = {'John', 'Walter', 'Mary', 'Roxane', ...}
LastNames = {'Smith', 'Bondy', 'Taylor', ...}
BirthDates = {..., 1950-01-01, 1950-01-02, ...}
Jobs = {'Accountant', 'Programmer', 'Database Administrator', ...}

इसके अलावा हमारे पास टुपल्स के सेट हैं

departements = { 
    (1, 'Engineering'), 
    (2, 'Finance')}
employees = { 
    (1, 1, 'John', 'Taylor', 1985-03-22, 'Programmer'), 
    (2, 1, 'Walter', 'Bondy', 1997-09-11, 'Database Administrator'), 
    (3, 2, 'Roxane', 'Myers', 1987-12-19, 'Accountant')}

departements का एक सबसेट है

    DepIds x DepNames

और इसलिए यह एक संबंध है।

employees का एक सबसेट है

    EmpIds x DepIds x FirstNames x LastNames x BirthDates x Jobs

और इसलिए यह एक संबंध भी है।

यह स्पष्ट है कि तालिकाओं द्वारा संबंधों को कैसे लागू किया जा सकता है।

गणितज्ञ टुपल्स के एक सेट को एक संबंध क्यों कहते हैं?

आमतौर पर '2 से कम 3', '4 के बराबर 4', '2 के बीच 1 और 3.4', '-1 नकारात्मक है' जैसे गुणों को संबंध कहा जाता है।

सेट A = {1, 2, 3} पर 'से कम' का संबंध उपसमूह द्वारा परिभाषित किया गया है

{(1, 2), (1, 3), (2, 3) }

का

A x A = {1, 2, 3} x {1, 2, 3}=
{ (1, 1), (1, 2), (1, 3), 
  (2, 1), (2, 2), (2, 3), 
  (3, 1), (3, 2), (3, 3) } 

इसी तरह से अन्य संबंधों को एक क्रॉसप्रोडक्ट के सबसेट के रूप में देखा जा सकता है। 'x y से कम', 'x बराबर y' बाइनरी संबंध हैं और इसलिए जोड़े के एक सेट द्वारा परिभाषित किया गया है। 'x a y a z' एक टेनेरी रिलेशन है 'और इसलिए इसे ट्रिपल्स के एक सेट द्वारा परिभाषित किया गया है। 'एक्स नेगेटिव' एक एकात्मक संबंध है और इसलिए इसे एकल के समूह द्वारा परिभाषित किया गया है।

जिन विभागों को हमने निर्धारित किया है, वे एक द्विआधारी संबंध हैं, कर्मचारियों का संबंध 6-आर्य संबंध है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.