संबंधपरक डेटाबेस। संबंधपरक डेटाबेस अवधारणा

होम> व्याख्यान

डीबी व्याख्यान अध्याय 2 संबंधपरक डेटाबेस 2.1. शब्द और परिभाषाएंसंबंधपरक डेटाबेस का विकास 1960 के दशक के उत्तरार्ध में शुरू हुआ, जब पहली रचनाएँ सामने आईं, जिसमें एक विशेषज्ञ से परिचित तालिकाओं के रूप में औपचारिक डेटा प्रतिनिधित्व के तरीकों का उपयोग करने की संभावनाओं पर चर्चा की गई। कुछ विशेषज्ञों ने सूचना प्रस्तुत करने के इस तरीके को निर्णय तालिका कहा, अन्य - सारणीबद्ध एल्गोरिदम। संबंधपरक डेटाबेस सिद्धांतकारों ने सूचना को डेटालॉजिकल मॉडल के रूप में प्रस्तुत करने का सारणीबद्ध तरीका कहा। रिलेशनल डेटाबेस के सिद्धांत के संस्थापक को आईबीएम का एक कर्मचारी माना जाता है, डॉ। ईएफ कोडड, जिन्होंने 6 जून, 1970 को "बड़े साझा डेटा बैंकों के लिए डेटा का एक रिलेशनल मॉडल" "डेटा का एक रिलेशनल मॉडल" लेख प्रकाशित किया था। बड़े साझा डेटा बैंक"। इस लेख में, पहली बार "रिलेशनल डेटा मॉडल" शब्द का इस्तेमाल किया गया था, जिसने रिलेशनल डेटाबेस की नींव रखी। संबंधपरक डेटाबेस सिद्धांत 1970 के दशक में विकसित हुआ। संयुक्त राज्य अमेरिका में डॉ. ई. एफ. कॉड द्वारा, सेट के सिद्धांत के गणितीय तंत्र पर भरोसा किया। उन्होंने साबित किया कि किसी भी डेटासेट को एक विशेष प्रकार की द्वि-आयामी तालिकाओं के रूप में दर्शाया जा सकता है, जिसे गणित में संबंधों के रूप में जाना जाता है। अंग्रेजी शब्द "रिलेशन" "रिलेशन" से और "रिलेशनल डेटा मॉडल" नाम आया। वर्तमान में, डेटाबेस (डीबी) के डिजाइन के लिए सैद्धांतिक आधार संबंधपरक बीजगणित का गणितीय उपकरण है (खंड 1.2 देखें)। इस प्रकार, एक संबंधपरक डेटाबेस वस्तुओं के बारे में जानकारी (डेटा) है, जिसे दो-आयामी सरणियों के रूप में प्रस्तुत किया जाता है - टेबल, कुछ लिंक द्वारा एकजुट। डेटाबेस में एक टेबल भी हो सकता है। रिलेशनल डेटाबेस के आगे के अध्ययन के लिए आगे बढ़ने से पहले, आइए हम सिद्धांत और व्यवहार में प्रयुक्त शर्तों और परिभाषाओं पर विचार करें। डेटाबेस तालिका- दो-आयामी सरणी जिसमें वस्तुओं के एक वर्ग के बारे में जानकारी होती है। संबंधपरक बीजगणित के सिद्धांत में, एक द्वि-आयामी सरणी (तालिका) को कहा जाता है रवैया।तालिका में निम्नलिखित तत्व होते हैं: फ़ील्ड, सेल, रिकॉर्ड (चित्र। 2.1)। खेतडेटाबेस ऑब्जेक्ट्स की विशेषता वाले गुणों में से एक के मान शामिल हैं। तालिका में फ़ील्ड की संख्या उन संकेतों की संख्या से मेल खाती है जो डेटाबेस ऑब्जेक्ट को चिह्नित करते हैं। 22 कक्षसंबंधित फ़ील्ड (एक वस्तु की विशेषता) का विशिष्ट मान होता है। रिकॉर्डिंग- टेबल की पंक्ति। इसमें उन सभी संकेतों के मान शामिल हैं जो एक वस्तु की विशेषता रखते हैं। अभिलेखों (रेखाओं) की संख्या उन वस्तुओं की संख्या से मेल खाती है जिनके बारे में डेटा तालिका में निहित है। डेटाबेस सिद्धांत में, शब्द रिकॉर्डिंगअवधारणा से मेल खाती है कोर-तेझो- संबंध और (AND) द्वारा एक दूसरे से संबंधित गुणों का एक क्रम। ग्राफ सिद्धांत में जूलुसका अर्थ है निर्देशित ग्राफ की एक साधारण शाखा - वृक्ष। टेबल 2.1 संबंधपरक डेटाबेस विकसित करने के सिद्धांत और व्यवहार में प्रयुक्त शब्दों को दर्शाता है। रिलेशनल डेटाबेस के लिए इष्टतम संरचना बनाने के लिए आवश्यक महत्वपूर्ण अवधारणाओं में से एक कुंजी, या कुंजी फ़ील्ड की अवधारणा है। चाभीएक फ़ील्ड माना जाता है, जिसके मान तालिका में अन्य सभी क्षेत्रों के मूल्यों को स्पष्ट रूप से निर्धारित करते हैं। उदाहरण के लिए, फ़ील्ड "पासपोर्ट नंबर", या "करदाता पहचान संख्या (टिन)", किसी भी व्यक्ति की विशेषताओं को विशिष्ट रूप से परिभाषित करता है (जब मानव संसाधन विभागों या उद्यम के लेखा विभाग के लिए संबंधित डेटाबेस तालिकाओं को संकलित करते हैं)।
23

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

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

संबंधपरक डेटाबेस के डिजाइन में इन कारकों पर विचार तालिकाओं के सामान्यीकरण और उनके बीच कनेक्शन स्थापित करने के तरीकों द्वारा किया जाता है।

सामान्यीकरण तालिकाएक डेटाबेस तालिका को कई तालिकाओं में विभाजित करने का एक तरीका है जो आमतौर पर ऊपर सूचीबद्ध आवश्यकताओं को पूरा करता है। तालिका का सामान्यीकरण तालिका की संरचना में क्रमिक परिवर्तन है जब तक कि यह सामान्यीकरण के अंतिम रूप की आवश्यकताओं को पूरा नहीं करता है। सामान्यीकरण के कुल छह रूप हैं:
    पहला सामान्य रूप (पहला सामान्य रूप - 1NF); दूसरा सामान्य रूप (दूसरा सामान्य रूप - 2NF); तीसरा सामान्य रूप (तीसरा सामान्य रूप - NF); सामान्य रूप बॉयज़ - कॉड (ब्राइस - कॉड नॉर्मल फॉर्म -बीसीएनएफ); चौथा सामान्य रूप (चौथासामान्य रूप - 4NF); पांचवां सामान्य रूप, या सामान्य प्रक्षेपण रूप - कनेक्शन (पांचवां सामान्य रूप - 5NF, या PJ / NF .) ).
सामान्य रूपों का वर्णन करते समय, निम्नलिखित अवधारणाओं का उपयोग किया जाता है: "क्षेत्रों के बीच कार्यात्मक निर्भरता"; "फ़ील्ड के बीच पूर्ण कार्यात्मक निर्भरता"; "फ़ील्ड के बीच बहु-मूल्यवान कार्यात्मक निर्भरता"; "क्षेत्रों के बीच सकर्मक कार्यात्मक निर्भरता"; "खेतों के बीच पारस्परिक स्वतंत्रता"। कार्यात्मक निर्भरताफ़ील्ड A और B के बीच एक संबंध कहलाता है जिसमें किसी भी समय A का प्रत्येक मान सभी संभावित मानों से B के एकल मान से मेल खाता है। एक कार्यात्मक संबंध का एक उदाहरण करदाता की पहचान संख्या और उसके पासपोर्ट नंबर के बीच का संबंध है। पूर्ण कार्यात्मक निर्भरतासंयुक्त क्षेत्र ए और क्षेत्र बी के बीच की निर्भरता को कहा जाता है जिसमें क्षेत्र बी क्षेत्र ए पर कार्यात्मक रूप से निर्भर करता है और क्षेत्र ए के किसी भी उपसमुच्चय पर कार्यात्मक रूप से निर्भर नहीं करता है। बहु-मूल्यवान कार्यात्मक निर्भरताफ़ील्ड के बीच निम्नानुसार परिभाषित किया गया है। फ़ील्ड ए अस्पष्ट रूप से फ़ील्ड बी की पहचान करता है यदि फ़ील्ड ए के प्रत्येक मान के लिए फ़ील्ड बी के लिए संबंधित मानों का "अच्छी तरह से परिभाषित सेट" है। उदाहरण के लिए, यदि हम स्कूल में छात्रों के लिए स्कूल ग्रेड तालिका पर विचार करते हैं, जिसमें फ़ील्ड शामिल हैं "विषय" (फ़ील्ड ए ) और "स्कोर" (फ़ील्ड बी), फिर फ़ील्ड बी में स्वीकार्य मानों का "अच्छी तरह से परिभाषित सेट" है: 1, 2, 3, 4, 5, अर्थात् "विषय" फ़ील्ड के प्रत्येक मान के लिए "मूल्यांकन" फ़ील्ड के लिए मानों का एक बहु-मूल्यवान "अच्छी तरह से परिभाषित सेट" है। सकर्मक कार्यात्मक निर्भरताफ़ील्ड ए और सी के बीच मौजूद है यदि फ़ील्ड सी कार्यात्मक रूप से 25 फ़ील्ड बी पर निर्भर करता है, और फ़ील्ड बी कार्यात्मक रूप से फ़ील्ड ए पर निर्भर करता है; इस मामले में, फ़ील्ड A की फ़ील्ड B पर कोई कार्यात्मक निर्भरता नहीं है। क्षेत्रों के बीच पारस्परिक स्वतंत्रतानिम्नानुसार परिभाषित किया गया है। कई क्षेत्र परस्पर स्वतंत्र हैं यदि उनमें से कोई भी कार्यात्मक रूप से दूसरे पर निर्भर नहीं है। पहला सामान्य रूप।तालिका पहले सामान्य रूप में होती है यदि और केवल तभी जब किसी भी फ़ील्ड में एक से अधिक मान न हों और कोई भी कुंजी फ़ील्ड खाली न हो। पहला सामान्य रूप संबंधपरक डेटा मॉडल की नींव है। संबंधपरक डेटाबेस में कोई भी तालिका स्वचालित रूप से पहले सामान्य रूप में होती है, अन्यथा यह परिभाषा के अनुसार संभव नहीं है। ऐसी तालिका में फ़ील्ड (विशेषताएं) नहीं होनी चाहिए जिन्हें कई क्षेत्रों (विशेषताओं) में विभाजित किया जा सकता है। असामान्य, एक नियम के रूप में, ऐसी तालिकाएँ हैं जो मूल रूप से उन सूचनाओं के कंप्यूटर प्रसंस्करण के लिए अभिप्रेत नहीं थीं जिनमें वे शामिल हैं। उदाहरण के लिए, तालिका में। 2.2 एक्सपेरिमेंटल रिसर्च इंस्टीट्यूट ऑफ मेटल-कटिंग मशीन टूल्स (ENIMS) द्वारा प्रकाशित संदर्भ पुस्तक "यूनिवर्सल मेटल-कटिंग मशीन" से तालिका का एक टुकड़ा दिखाता है। यह तालिका निम्न कारणों से सामान्यीकृत नहीं है। 1. इसमें ऐसी रेखाएँ होती हैं जिनमें एक सेल में एक फ़ील्ड के कई मान होते हैं: "प्रसंस्करण का सबसे बड़ा व्यास, मिमी" और "स्पिंडल रोटेशन आवृत्ति, आरपीएम"। 2. एक क्षेत्र - "समग्र आयाम (लंबाई x चौड़ाई x ऊंचाई), मिमी" को तीन क्षेत्रों में विभाजित किया जा सकता है: "लंबाई, मिमी", "चौड़ाई, मिमी" और "ऊंचाई, मिमी"। इस तरह के विभाजन की उपयुक्तता को बाद के क्षेत्रों या कब्जे वाले संस्करणों की गणना की आवश्यकता से उचित ठहराया जा सकता है। मूल तालिका को पहले सामान्य रूप में परिवर्तित किया जाना चाहिए। इसके लिए यह आवश्यक है: "अधिकतम मशीनिंग व्यास, मिमी" और "स्पिंडल रोटेशन आवृत्ति, आरपीएम" फ़ील्ड को एक सेल में निहित मानों की संख्या के अनुसार कई क्षेत्रों में विभाजित करने के लिए;
26

फ़ील्ड "समग्र आयाम (लंबाई x चौड़ाई x ऊंचाई), मिमी", तीन क्षेत्रों में विभाजित: "लंबाई, मिमी", "चौड़ाई, मिमी", "ऊंचाई, मिमी"। इस तालिका का मुख्य क्षेत्र "मशीन मॉडल" या "नंबर" फ़ील्ड हो सकता है। 2.3. आइए एक और उदाहरण लेते हैं। अंजीर में। 2.2 परीक्षण स्कोर शीट का एक टुकड़ा दिखाता है, जो पिछले उदाहरण की तरह, मूल रूप से कंप्यूटर प्रसंस्करण के लिए अभिप्रेत नहीं था। मान लीजिए कि हम परीक्षण-परीक्षा सत्र के परिणामों के स्वचालित प्रसंस्करण के लिए एक डेटाबेस बनाना चाहते हैं
27

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

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

यदि किसी तालिका में केवल एक फ़ील्ड वाली एक साधारण प्राथमिक कुंजी है, तो यह स्वचालित रूप से दूसरे सामान्य रूप में होती है।

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

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

नतीजतन, हमें एक नई डेटाबेस संरचना मिलती है, जिसे अंजीर में दिखाया गया है। 2.5 (प्रत्येक तालिका में प्रमुख फ़ील्ड बोल्ड में हैं)। इस संरचना में सात तालिकाएँ हैं जो तीसरे सामान्य रूप की आवश्यकताओं को पूरा करती हैं।

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

चौथी सामान्य रूप में एक तालिका खोजना बहुत मुश्किल है, लेकिन पांचवें सामान्य रूप की परिभाषा को पूरा नहीं करता है।

पांचवां सामान्य रूप।एक तालिका पांचवें सामान्य रूप में होती है यदि और केवल तभी जब सभी अनुमानों में इसके प्रत्येक पूर्ण डेको-पोजीशन में एक संभावित कुंजी होती है। एक तालिका जिसमें कोई पूर्ण अपघटन नहीं होता है वह भी पांचवें सामान्य रूप में होती है। व्यवहार में, डेटाबेस तालिकाओं का अनुकूलन तीसरे सामान्य रूप में समाप्त होता है। चौथे और पांचवें सामान्य रूपों में तालिकाओं की कमी, हमारी राय में, विशुद्ध रूप से सैद्धांतिक रुचि है। व्यवहार में, इस समस्या को एक नई तालिका बनाने के लिए प्रश्नों के विकास द्वारा हल किया जाता है। 2.3. तालिकाओं के बीच संबंध डिजाइन करनाप्रारंभिक डेटाबेस तालिकाओं को सामान्य करने की प्रक्रिया आपको सूचना प्रणाली की इष्टतम संरचना बनाने की अनुमति देती है - एक डेटाबेस विकसित करने के लिए जिसके लिए कम से कम मेमोरी संसाधनों की आवश्यकता होती है और, परिणामस्वरूप, सूचना तक सबसे कम पहुंच समय प्रदान करता है। उसी समय, एक स्रोत तालिका को कई में विभाजित करने के लिए सूचना प्रणाली के डिजाइन के लिए सबसे महत्वपूर्ण शर्तों में से एक की पूर्ति की आवश्यकता होती है - डेटाबेस के संचालन के दौरान सूचना की अखंडता सुनिश्चित करना। मूल तालिकाओं के सामान्यीकरण के उपरोक्त उदाहरण में (चित्र 2.3 देखें), दो तालिकाओं से, हमने अंततः सात तालिकाओं को तीसरे और चौथे सामान्य रूपों में घटा दिया। जैसा कि अभ्यास से पता चलता है, वास्तविक उत्पादन और व्यवसाय में, डेटाबेस बहु-उपयोगकर्ता प्रणाली हैं। यह अलग-अलग तालिकाओं में डेटा के निर्माण और रखरखाव और निर्णय लेने के लिए जानकारी के उपयोग दोनों पर लागू होता है। ऊपर दिए गए उदाहरण में, किसी विश्वविद्यालय या कॉलेज में वास्तव में कार्यशील शैक्षिक प्रक्रिया प्रबंधन प्रणाली में, प्रवेश परीक्षाओं के परिणामों के आधार पर आवेदकों का नामांकन करते समय अध्ययन समूहों का प्रारंभिक गठन प्रवेश समितियों द्वारा किया जाता है। विश्वविद्यालयों में समूहों में छात्रों की संरचना के बारे में जानकारी का रखरखाव डीन के कार्यालयों और कॉलेजों में - शैक्षिक विभागों या संबंधित संरचनाओं को सौंपा गया है। समूहों में शैक्षणिक विषयों की संरचना अन्य सेवाओं या विशेषज्ञों द्वारा निर्धारित की जाती है। कार्मिक विभागों में शिक्षण कर्मचारियों के बारे में जानकारी बनाई जाती है। डीन के कार्यालय और विभागों के प्रमुखों के लिए परीक्षण और परीक्षा सत्र के परिणाम आवश्यक हैं, जिसमें 32 सफल छात्रों को छात्रवृत्ति देने या असफल छात्रों की "छात्रवृत्ति से वापसी" पर निर्णय लेना शामिल है। डेटाबेस में किसी भी तालिका में किसी भी परिवर्तन को अन्य सभी तालिकाओं में पर्याप्त परिवर्तन मिलना चाहिए। यह डेटाबेस की अखंडता सुनिश्चित करने का सार है। व्यवहार में, यह कार्य डेटाबेस तालिकाओं के बीच संबंध स्थापित करके किया जाता है। आइए तालिकाओं के बीच संबंध स्थापित करने के लिए बुनियादी नियम तैयार करें। 1. दो लिंक की गई तालिकाओं में से एक मास्टर और एक दास का चयन करें। 2. प्रत्येक तालिका में, एक कुंजी फ़ील्ड चुनें। मुख्य तालिका के प्रमुख क्षेत्र को कहा जाता है प्राथमिक कुंजी।स्लेव टेबल के प्रमुख क्षेत्र को कहा जाता है विदेशी कुंजी। 3. बाउंड टेबल फ़ील्ड एक ही डेटा प्रकार के होने चाहिए। 4. तालिकाओं के बीच निम्न प्रकार के लिंक स्थापित होते हैं: "एक से एक"; कई लोगों के लिए एक; कई-से-अनेक: एक-से-एक संबंध तब स्थापित होता है जब मास्टर तालिका की एक विशेष पंक्ति किसी भी समय अधीनस्थ तालिका की केवल एक पंक्ति से जुड़ी होती है; एक-से-अनेक संबंध उन मामलों में स्थापित किया जाता है जहां किसी भी समय मुख्य तालिका की एक विशिष्ट पंक्ति होती है
33 अधीनस्थ तालिका की कई पंक्तियों से जुड़ा है; इस मामले में, अधीनस्थ तालिका की कोई भी पंक्ति मुख्य तालिका की केवल एक पंक्ति से जुड़ी होती है; कई-से-अनेक संबंध उन मामलों में स्थापित होते हैं जब मुख्य तालिका की एक विशेष पंक्ति किसी भी समय अधीनस्थ तालिका की कई पंक्तियों से जुड़ी होती है और साथ ही अधीनस्थ तालिका की एक पंक्ति मुख्य तालिका की कई पंक्तियों से जुड़ी होती है। टेबल। मास्टर टेबल में प्राथमिक कुंजी के मान को बदलते समय, आश्रित तालिका के निम्नलिखित व्यवहार संभव हैं। कैस्केडिंग।जब मुख्य तालिका में प्राथमिक कुंजी डेटा बदलता है, तो आश्रित तालिका में संबंधित विदेशी कुंजी डेटा बदल जाता है। सभी मौजूदा कनेक्शन बरकरार रखे गए हैं। रोकना।यदि आप आश्रित तालिका में पंक्तियों से संबद्ध प्राथमिक कुंजी के मान को बदलने का प्रयास करते हैं, तो परिवर्तन छोड़ दिए जाते हैं। प्राथमिक कुंजी के केवल उन मानों को बदलने की अनुमति है जिनके लिए आश्रित तालिका के साथ कोई संबंध स्थापित नहीं किया गया है। स्थापना (संबंध)।जब प्राथमिक कुंजी का डेटा बदलता है, तो विदेशी कुंजी शून्य मान (NULL) पर सेट हो जाती है। आश्रित तालिका के लिए पंक्ति स्वामित्व जानकारी खो जाती है। यदि आप प्राथमिक कुंजी के कई मान बदलते हैं, तो आश्रित तालिका में पंक्तियों के कई समूह बनते हैं, जो पहले बदली गई कुंजियों से जुड़े थे। उसके बाद, यह निर्धारित करना असंभव है कि कौन सी पंक्ति किस प्राथमिक कुंजी से जुड़ी थी। अंजीर में। 2.6 अंजीर में दिखाए गए डेटाबेस की तालिकाओं के बीच कनेक्शन के आरेख दिखाता है। 2.5. नियंत्रण प्रश्न 1. डेटाबेस तालिका के निम्नलिखित तत्वों की परिभाषा दें: फ़ील्ड, सेल, रिकॉर्ड। 2. "कुंजी", "कुंजी क्षेत्र" अवधारणाओं का क्या अर्थ है? 3. किस कुंजी क्षेत्र को प्राथमिक कुंजी कहा जाता है और किसको विदेशी कुंजी कहा जाता है? 4. डेटाबेस तालिकाओं को सामान्य करने की प्रक्रिया क्या है? 5. आप डेटाबेस टेबल के कौन से पांच सामान्य रूप जानते हैं? 6. डेटाबेस तालिकाओं के बीच निम्न प्रकार के संबंधों को परिभाषित करें: "एक से एक"; कई लोगों के लिए एक; कई कई।

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

1. डेटा प्रकार

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

2. डोमेन

संकल्पना कार्यक्षेत्रडेटाबेस के लिए अधिक विशिष्ट, हालांकि कुछ प्रोग्रामिंग भाषाओं में उपप्रकारों के साथ इसकी कुछ समानताएं हैं। अपने सबसे सामान्य रूप में, एक डोमेन को कुछ बुनियादी डेटा प्रकार निर्दिष्ट करके परिभाषित किया जाता है जिससे डोमेन के तत्व संबंधित होते हैं, और डेटा प्रकार के तत्व पर लागू एक मनमानी तार्किक अभिव्यक्ति होती है। यदि यह बूलियन व्यंजक सत्य का मूल्यांकन करता है, तो डेटा आइटम एक डोमेन आइटम है। किसी डोमेन की धारणा की सबसे सही सहज व्याख्या किसी डोमेन की किसी दिए गए प्रकार के मूल्यों के स्वीकार्य संभावित सेट के रूप में समझ है। उदाहरण के लिए, हमारे उदाहरण में डोमेन "नाम" को आधार प्रकार के वर्ण स्ट्रिंग्स पर परिभाषित किया गया है, लेकिन इसके मानों में केवल वे स्ट्रिंग्स शामिल हो सकते हैं जो एक नाम का प्रतिनिधित्व कर सकते हैं (विशेष रूप से, ऐसे स्ट्रिंग्स सॉफ्ट साइन से शुरू नहीं हो सकते हैं)। डोमेन अवधारणा के सिमेंटिक लोड पर भी ध्यान दिया जाना चाहिए: डेटा को केवल तभी तुलनीय माना जाता है जब वे एक ही डोमेन से संबंधित हों। हमारे उदाहरण में, "गैप नंबर" और "ग्रुप नंबर" डोमेन के मान पूर्णांक प्रकार के हैं, लेकिन तुलनीय नहीं हैं। ध्यान दें कि अधिकांश रिलेशनल डीबीएमएस डोमेन अवधारणा का उपयोग नहीं करते हैं, हालांकि Oracle V.7 पहले से ही इसका समर्थन करता है।

3. संबंध स्कीमा, डेटाबेस स्कीमा

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

4. टुपल, संबंध

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

रिश्तों के मौलिक गुण

1.कोई डुप्लीकेट टुपल्स नहीं

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

2.टुपल्स के आदेश का अभाव

वह संपत्ति जो किसी संबंध के टुपल्स का आदेश नहीं देती है, वह भी एक उदाहरण संबंध को टुपल्स के सेट के रूप में परिभाषित करने का एक परिणाम है। किसी रिलेशन के टुपल्स के सेट पर ऑर्डर बनाए रखने की आवश्यकता का अभाव DBMS को बाहरी मेमोरी में डेटाबेस को स्टोर करते समय और डेटाबेस के लिए क्वेरी निष्पादित करते समय अतिरिक्त लचीलापन देता है। यह इस तथ्य का खंडन नहीं करता है कि डेटाबेस के लिए एक क्वेरी तैयार करते समय, उदाहरण के लिए, SQL भाषा में, आपको परिणामी तालिका को कुछ स्तंभों के मानों के अनुसार क्रमबद्ध करने की आवश्यकता हो सकती है। ऐसा परिणाम, आम तौर पर बोलना, एक संबंध नहीं है, लेकिन कुछ टुपल्स की एक आदेशित सूची है।

3.गुणों के क्रम का अभाव

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

4.गुण मूल्यों की परमाणुता.

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

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

संबंधपरक संचालन और नंबरिंग।

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

चावल। 3.3. संबंधपरक बीजगणित के कुछ संचालन
डेटा हेरफेर भाषाएं बनाई गई हैं जो संबंधपरक बीजगणित के सभी संचालन और उनमें से लगभग किसी भी संयोजन को लागू करने की अनुमति देती हैं। उनमें से, सबसे आम हैं SQL (संरचित क्वेरी भाषा) और QBE (Quer-By-Example) [,]। दोनों बहुत ही उच्च-स्तरीय भाषाएं हैं, जिनकी सहायता से उपयोगकर्ता निर्दिष्ट करता है कि इसे प्राप्त करने की प्रक्रिया को निर्दिष्ट किए बिना कौन सा डेटा प्राप्त किया जाना चाहिए। इनमें से किसी भी भाषा में एक प्रश्न के साथ, आप एक अस्थायी तालिका में कई तालिकाओं को जोड़ सकते हैं और उसमें से आवश्यक पंक्तियों और स्तंभों को काट सकते हैं (चयन और प्रक्षेपण)।

डेटाबेस भाषा समर्थन

डेटाबेस के साथ काम करने के लिए, विशेष भाषाओं का उपयोग किया जाता है, जिन्हें आमतौर पर डेटाबेस भाषा कहा जाता है।

पहले डेटाबेस में, 2 भाषाएँ थीं:

1. एसडीएल डेटाबेस स्कीमा के लिए परिभाषा भाषा।

2. डेटा हेरफेर भाषा डीएमएल।

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

अब तक की सबसे आम भाषा है

एससंरचित

लीअंगुएज

यह भाषा डेटाबेस स्कीमा का समर्थन और निर्माण दोनों करती है और इस डेटा में हेरफेर करने की अनुमति देती है। इसमें आपके डेटाबेस की अखंडता सुनिश्चित करने के लिए आवश्यक सभी उपकरण शामिल हैं। ये अखंडता बाधाएं विशेष निर्देशिकाओं में निहित हैं जो आपको भाषा स्तर पर डेटाबेस की अखंडता को नियंत्रित करने की अनुमति देती हैं। SQL भाषा के विशेष ऑपरेटर डेटाबेस के तथाकथित विचारों को परिभाषित करते हैं। देखें - क्वेरी जो डेटाबेस में संग्रहीत हैं। उपयोगकर्ता के लिए, एक दृश्य एक ϶ᴛᴏ तालिका है जिसकी सहायता से आप किसी विशिष्ट डेटा उपयोगकर्ता के लिए डेटाबेस की दृश्यता को प्रतिबंधित या विस्तारित कर सकते हैं। SQL भाषा में ऐसे विशेष ऑपरेंड होते हैं जो डेटाबेस ऑब्जेक्ट्स तक पहुँच की अनुमति प्रदान करते हैं। चूंकि अलग-अलग उपयोगकर्ताओं के पास डेटा के साथ काम करने के लिए अलग-अलग अनुमतियां होती हैं, इसलिए इन अनुमतियों को विशेष तालिकाओं में वर्णित किया जाता है - कैटलॉग जो भाषा स्तर पर समर्थित हैं।

रिलेशनल डेटाबेस की मूल अवधारणाएँ हैं: डेटा प्रकार, डोमेन, विशेषता, टपल, प्राथमिक कुंजी, संबंध।

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

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

यह एक टपल को डेटाबेस तत्वों के जोड़े के एक सेट के रूप में समझने के लिए प्रथागत है जिसमें संबंध स्कीमा में प्रत्येक विशेषता बीज की एक घटना होती है।

संबंध योजना - तत्वों के युग्मों का नामित समुच्चय। और में

tuple = विशेषता नाम͵ मान, अर्थात टपल किसी दिए गए प्रकार के नामित मानों का एक संग्रह है।

संबंध - किसी एक स्कीमा के अनुरूप टुपल्स का एक सेट, यानी एक रिलेशनल डेटाबेस - संबंधों का एक सेट जिसका नाम डेटाबेस संरचना में संबंध स्कीमा के नाम से मेल खाता है।

संबंधपरक डेटाबेस वर्तमान समय में सबसे व्यापक हैं, हालांकि, आम तौर पर मान्यता प्राप्त लाभों के साथ, उनके कई नुकसान भी हैं। संबंधपरक दृष्टिकोण के लाभों में शामिल हैं:

सार के एक छोटे से सेट की उपस्थिति जो अधिकांश सामान्य विषय क्षेत्रों को मॉडल करना अपेक्षाकृत आसान बनाती है और सहज ज्ञान युक्त रहते हुए सटीक औपचारिक परिभाषाओं की अनुमति देती है;

एक सरल और एक ही समय में शक्तिशाली गणितीय उपकरण की उपस्थिति, जो मुख्य रूप से सेट सिद्धांत और गणितीय तर्क पर आधारित है और डेटाबेस को व्यवस्थित करने के लिए एक संबंधपरक दृष्टिकोण के लिए सैद्धांतिक आधार प्रदान करता है;

बाहरी मेमोरी में डेटाबेस के विशिष्ट भौतिक संगठन को जानने की आवश्यकता के बिना गैर-नेविगेशनल डेटा हेरफेर की संभावना।

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

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

रिलेशनल डेटाबेस की मूल अवधारणाएँ हैं: डेटा प्रकार, डोमेन, विशेषता, टपल, प्राथमिक कुंजी और संबंध।

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

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

टेबलसंबंधपरक मॉडल का मुख्य डेटा संरचना प्रकार (वस्तु) है। तालिका की संरचना जनसंख्या द्वारा निर्धारित की जाती है स्तंभ।तालिका की प्रत्येक पंक्ति में संबंधित में एक मान होता है स्तंभ।एक तालिका में दो समान पंक्तियाँ नहीं हो सकती हैं। लाइनों की कुल संख्या सीमित नहीं है।

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

संबंधित विशेषता के मान वाले तालिका के कॉलम को कहा जाता है कार्यक्षेत्र, और विभिन्न विशेषताओं के मूल्यों के साथ तार - एक टपल।

संबंधपरक तालिका-संबंध।अंजीर में। 9 एक संबंधपरक तालिका-संबंध का एक उदाहरण है आर... औपचारिक परिभाषा संबंधआर (रिलेशनल टेबल) इसके विचार पर निर्भर करता है डोमेनडी मैं, (कॉलम) और टुपल्स जे (लाइनें)। डोमेन (डी i) के सेट पर परिभाषित संबंध आर सबसेट है डोमेन का कार्टेशियन (प्रत्यक्ष) उत्पादडी 1 * डी 2 *… .. * डी एन

टेबल-रिलेशन(चित्र 1 देखें) में डेटा तत्वों के नाम वाले कॉलम होते हैं - विशेषताएँ (ए 1, ए 2, ...)। d विशेषताओं के मान तालिका के सामग्री भाग में होते हैं और पंक्तियों और स्तंभों का निर्माण करते हैं। एक कॉलम में कई विशेषता मान एक बनाते हैं कार्यक्षेत्रडी मैं... एक पंक्ति में कई विशेषता मान एक बनाते हैं जूलुसकरने के लिए जे. रवैयाआर आदेशित के एक सेट द्वारा बनता है टुपल्स

आर = (Кj), जे = 1- एम Кj = (डी 1 जे, डी 2 जे,… डी एनजे),

जहां n संबंध के प्रांतों की संख्या है; को परिभाषित करता है रिश्ते का आयाम;

j टपल की संख्या है;

m संबंध में टुपल्स की कुल संख्या है जिसे कहा जाता है सह संख्यासंबंध।

चित्र 9. संबंधपरक तालिका-संबंध चित्रण

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

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

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

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

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

कार्यकर्ता [ कार्यकर्ता-आईडी, नाम, घंटे-दर, कौशल-प्रकार, एसवीपीवी-आईडी]

विदेशी कुंजी: कौशल द्वारा संदर्भित कौशल-प्रकार

SVPV-ID संदर्भित WORKER

कार्यभार [ कार्यकर्ता-आईडी, बीएलडीजी-आईडी, START-DATE, NUMBER-of-days]

विदेशी कुंजी: WORKER-ID संदर्भित WORKER

BVILDING द्वारा संदर्भित BLDG-ID

भवन बनाना [ बीएलडीजी-आईडी, पता, प्रकार, मात्रा-स्तर, स्थिति]

कौशल [ कौशल- प्रकार, बोनस-दर, घंटे-प्रति-सप्ताह]

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

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

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

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

एक रिलेशनल डेटाबेस रिश्तों का एक सेट होता है जिसका नाम डेटाबेस स्कीमा में रिलेशनशिप स्कीमा के नाम के समान होता है।

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

संबंध तालिका कुंजी।टुपल्स को अंदर दोहराया नहीं जाना चाहिए संबंध तालिकाऔर, तदनुसार, उनके पास एक विशिष्ट पहचानकर्ता होना चाहिए - प्राथमिक कुंजी।एक या अधिक विशेषताएँ जिनके मान विशिष्ट रूप से तालिका पंक्ति की पहचान करते हैं चाभी टेबल।

प्राथमिक कुंजी कहलाती है सरल , जब इसमें एक विशेषता हो, या मिश्रित,जब इसमें कई गुण होते हैं। प्राथमिक कुंजी के अलावा, संबंध भी हो सकता है माध्यमिक कुंजी।

माध्यमिक कुंजीयह एक कुंजी है जिसका मान अलग-अलग टपल स्ट्रिंग्स में दोहराया जा सकता है। उनका उपयोग समान द्वितीयक कुंजी मान वाली पंक्तियों के समूह को खोजने के लिए किया जा सकता है।

बाहरी कुंजी -यह एक तालिका से विशेषताओं का एक सेट है जो दूसरे (या समान) तालिका की कुंजी है। विदेशी कुंजियाँ तालिकाओं के बीच महत्वपूर्ण संबंध प्रदान करती हैं। इनका उपयोग एक तालिका के डेटा को दूसरी तालिका के डेटा से जोड़ने के लिए किया जाता है। विदेशी कुंजी विशेषताओं का वही नाम नहीं होना चाहिए जो वे मुख्य विशेषताओं से मेल खाते हैं।


इसी तरह की जानकारी।


संबंधपरक डेटाबेस और इसकी विशेषताएं। संबंधपरक तालिकाओं के बीच संबंधों के प्रकार

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

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

संबंधपरक डेटाबेस तालिकाओं को संबंध सामान्यीकरण आवश्यकताओं को पूरा करना चाहिए। संबंधों का सामान्यीकरण तालिकाओं के निर्माण पर बाधाओं का एक औपचारिक तंत्र है, जो दोहराव को समाप्त करता है, डेटाबेस में संग्रहीत लोगों की स्थिरता सुनिश्चित करता है, और डेटाबेस को बनाए रखने के लिए श्रम लागत को कम करता है।

छात्र तालिका बनाने दें, जिसमें निम्नलिखित फ़ील्ड हों: समूह संख्या, पूरा नाम, छात्र छात्र संख्या, जन्म तिथि, विशेषता फेरबदल, संकाय का नाम। सूचना भंडारण के ऐसे संगठन के कई नुकसान होंगे:

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

तालिका सामान्यीकरण का उद्देश्य इन कमियों को दूर करना है। यहां है रिश्ते के तीन सामान्य रूप.

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

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

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

रिलेशनल टेबल पर निम्नलिखित ऑपरेशन संभव हैं:

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

संबंधपरक तालिकाओं को एक दूसरे से संबंधित किया जा सकता है, इसलिए, एक ही समय में कई तालिकाओं से डेटा पुनर्प्राप्त किया जा सकता है। अंततः डेटाबेस के आकार को कम करने के लिए तालिकाओं को एक साथ जोड़ा जाता है। तालिकाओं की प्रत्येक जोड़ी का संबंध सुनिश्चित किया जाता है यदि उनके समान स्तंभ हों।

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

  • एक से एक;
  • कई लोगों के लिए एक;
  • कई कई।

एक-से-एक संचारमानता है कि पहली तालिका की एक विशेषता दूसरी तालिका की केवल एक विशेषता से मेल खाती है, और इसके विपरीत।

एक-से-अनेक संबंधयह मानता है कि पहली तालिका में एक विशेषता दूसरी तालिका में कई विशेषताओं से मेल खाती है।

कई-से-अनेक संबंधमानता है कि पहली तालिका की एक विशेषता दूसरी तालिका की कई विशेषताओं से मेल खाती है, और इसके विपरीत।

इसे साझा करें