सबसे पहले, मैं अत्यधिक वैज्ञानिक शोधपत्र की सिफारिश करता हूं जिसमें डॉ। एडगर फ्रैंक कॉड ने 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 समकक्ष है पंक्ति -
… अर्थ लेकर जाएगा
- "वेतन व्यक्ति PersonNumber से पहचान करने के लिए भुगतान किया
x
EFFECTIVEDATE पर y
की राशि से मेल खाती है z
" ।
तदनुसार- चीजों का वर्णन लगभग एक तरह से किया जाता है-, तीन डोमेन के बीच का संबंध प्रमुख महत्व का है, वे सभी संबंधित हैं (और, हां, एक संबंध केवल एक डोमेन को शामिल करेगा)। एक निश्चित डोमेन के सभी मूल्यों के बीच संबंध बहुत महत्वपूर्ण है, क्योंकि वे एक सटीक प्रकार का एक सेट बनाते हैं । इसके अलावा, में से प्रत्येक टपल की सामग्री संबंध के ढांचे में फिट होगा जोर ऊपर सचित्र।Salary
वैचारिक स्तर के संबंध और तार्किक स्तर के संबंध
जैसा कि प्रदर्शित किया गया है, मैंने अब डेटाबेस प्रबंधन के साथ दो अलग-अलग स्तरों पर अमूर्त रूप से निपटा है, अर्थात् वैचारिक और तार्किक- और अभी भी एक निम्न स्तर है जिसे भौतिक रूप में जाना जाता है , जिसमें SQL DBMSs में आम तौर पर शामिल होते हैं, जैसे, अनुक्रमित, पृष्ठ, विस्तार। आदि।-।
इसलिए, पहले बताई गई धारणाओं के अनुसार, तार्किक स्तर पर (ए) गणितीय संबंधों के साथ विशेष रूप से काम करता है, जहां (बी) वैचारिक संबंधों या संघों द्वारा प्रतिनिधित्व किया जाता है (सी) ऐसे गणितीय संबंधों के गुत्थियों में निहित मूल्यों , और कहा कि मूल्यों को आमतौर पर FOREIGN कुंजी बाधाओं के माध्यम से सीमांकित किया जाता है ताकि वे लागू संबंधों का सही प्रतिनिधित्व कर सकें।
और, हाँ, साहचर्य संस्थाएं, यानी, कई-से-कई (एम: एन) कार्डिनैलिटी अनुपात के साथ संबंधों के प्रकारों के उदाहरण, एकल गणितीय संबंध के ट्यूप के माध्यम से व्यक्त किए जा सकते हैं-इसके साथ ही संबंधित बाधाओं को उचित रूप से, पाठ्यक्रम।
उपशमन सं। 2
मैं समझता हूं कि संबंधपरक मॉडल पदानुक्रमित और नेटवर्क मॉडल के बाद आया था। लेकिन उन मॉडलों में, संस्थाओं के एक-दूसरे से संबंध भी होते हैं। तो इस मॉडल को रिलेशनल मॉडल क्यों कहें? क्या अधिक विशिष्ट वाक्यांश / शब्द है? या शायद हमें कहना चाहिए कि सभी तीन मॉडल संबंधपरक मॉडल हैं, लेकिन पदानुक्रमित और नेटवर्क मॉडल विशिष्ट प्रकार के संबंधपरक मॉडल हैं?
नेटवर्क और पदानुक्रमित DBMSs ने अपने औपचारिक सैद्धांतिक समर्थन से पहले
यह इंगित करना उचित है कि पदानुक्रमित और नेटवर्क दृष्टिकोण के आसपास सैद्धांतिक समर्थन , वास्तव में, पहले से मौजूद DBMS के संदर्भ में बनाया गया था, जिसका उद्देश्य अन्य पहलुओं के साथ, परीक्षण (और 1) की ध्वनि की स्थापना करना है। और (2) लिंक्ड डेटा प्रबंधन प्रथाओं-उल्टा-डाउन घटना, मेरे दृष्टिकोण से-।
संबंधपरक ढांचे के साथ तुलना में अधूरा
यह कहा जा रहा है, हालांकि वहाँ हैं श्रेणीबद्ध और नेटवर्क DBMS कि संबंधपरक मॉडल से पहले, और यहां तक कि जब डॉ। कोडड ने प्रत्येक दृष्टिकोण को "मॉडल" के रूप में संदर्भित किया, तो किसी को भी उसी तरह से परिभाषित नहीं किया जाता है जैसे कि संबंधपरक रूपरेखा है। संबंधपरक प्रतिमान (i) परिभाषा, (ii) प्रतिबंध और (iii) डेटा के हेरफेर के लिए वैज्ञानिक निर्माण प्रदान करता है, और पदानुक्रमित और नेटवर्क दृष्टिकोणों में पहले बताए गए सभी प्रकार के निर्माणों को कवर करने के लिए पूर्ण सैद्धांतिक समर्थन का अभाव है।
नेटवर्क और पदानुक्रमित विशेषताएं
इसके अलावा, जैसा कि पहले कहा गया था, इकाई और संबंध प्रकार वैचारिक स्तर के उपकरण हैं, वे पदानुक्रमित या नेटवर्क दृष्टिकोण से संबंधित नहीं हैं, जिनमें से प्रत्येक ने कहा कि पहलुओं को दर्शाने के लिए विशेष तंत्र प्रदान करता है:
नेटवर्क प्रतिमान डेटा प्रतिनिधित्व के लिए दो उपकरणों को जोड़ता है , अर्थात, नोड्स और आर्क (और निश्चित रूप से दो अलग-अलग प्रकार के डेटा हेरफेर संचालन का अर्थ है), जो कि जब संबंधपरक मॉडल के विपरीत होता है (जो कि सूचना सिद्धांत के अनुसार केवल एक निर्माण होता है) (संबंध), एक नेटवर्क फैशन में काम करने वाले अनावश्यक जटिलता को स्पष्ट करता है। उदाहरण के लिए, यह देखते हुए कि यह दो प्रतिनिधित्व उपकरणों का समर्थन करता है, नेटवर्क दृष्टिकोण एक अव्यवहारिक क्वेरी पूर्वाग्रह लगाता है जो डेटा हेरफेर में बाधा डालता है।
(! शारीरिक) ने अपने भाग के लिए, पदानुक्रमिक दृश्य के माध्यम से डेटा का प्रतिनिधित्व करने का प्रस्ताव फाइलों से बना रिकॉर्ड (जो बारी में से मिलकर क्षेत्रों ) एक में आयोजित तीन तरह व्यवस्था; यानी, एक अभिभावक का रिकॉर्ड संभवत: कई बाल समकक्षों द्वारा संकेत के माध्यम से जंजीर है , जो डेटा हेरफेर के संबंध में एक भौतिक पहुंच पथ का निर्माण करता है । यह दृष्टिकोण भी प्रतिकूल है क्योंकि यह वैचारिक और भौतिक पहलुओं के बीच एक उलझाव प्रस्तुत करता है, इसलिए भौतिक भंडारण व्यवस्था में बदलाव के लिए डेटा संरचनाओं के पुनर्गठन की आवश्यकता होती है, जो संबंधित डेटा हेरफेर संचालन में बदलाव की मांग करता है।
जैसा कि दिखाया गया है, पदानुक्रमित और नेटवर्क दृश्य अपने निर्माणों को प्रबंधित किए जाने वाले डेटा पर लगाते हैं, जबकि संबंधित मॉडल संबंधित तथ्यों के सेट (जिसके बाद n प्रकार के सेट से प्रत्याशित नहीं है) के द्वारा डेटा को उसकी प्राकृतिक संरचना में सुरुचिपूर्ण ढंग से संचालित करने का प्रस्ताव करता है। डिजाइन चरण, व्युत्पन्न और इतने पर हो सकता है!)।
रिलेशनल मॉडल में उप मॉडल नहीं होते हैं
और, काफी महत्वपूर्ण है, न तो पदानुक्रमित और न ही नेटवर्क दृश्य विशिष्ट प्रकार के संबंधपरक मॉडल हैं, वे बस अन्य प्रतिमान हैं जो किसी का अनुसरण कर सकते हैं (ए) डीबीएमएस का निर्माण करते हैं और (बी) डेटाबेस बनाते हैं, लेकिन कृपया ध्यान रखें कि पदानुक्रमित और नेटवर्क के दृष्टिकोण को अब दशकों से अप्रचलित माना जाता है।
उपशमन सं। 3
क्या होगा अगर हमारे पास स्टैंडअलोन इकाइयां हैं जो एक दूसरे से संबंधित नहीं हैं। कहते हैं, व्यक्ति, द्वार और वृक्ष। क्या शब्द "संबंध (अल)" अभी भी लागू है?
हाँ, यह पूरी तरह से लागू है यदि कोई एक (1) अनुकूलित गणितीय संबंधों के संकेत द्वारा उन इकाई प्रकारों के बारे में जानकारी का प्रबंधन कर रहा है और (2) किसी दिए गए संबंधपरक डीबीएमएस के समर्थन से एक निश्चित डेटाबेस में तार्किक स्तर पर लागू रिलेशनल संचालन करता है। ।
इससे कोई फर्क नहीं पड़ता कि, वैचारिक स्तर पर, कहा गया है कि इकाई प्रकार अन्य इकाई प्रकारों के साथ कोई संबंध प्रकार नहीं रखते हैं (और यह ध्यान देने योग्य है कि एक इकाई प्रकार एक-से-शून्य-एक-या कई कार्डिनलिटी अनुपात का संबंध हो सकता है खुद के साथ), और इस प्रकार एक विचार के तहत संबंधों के tuples के मूल्यों के बीच किसी भी रिश्ते को संप्रेषित या लागू नहीं कर रहा है।