डेटा मॉडल और क्वेरी भाषाएँ
डेटा मॉडल वैचारिक ढाँचे हैं जो यह निर्दिष्ट करते हैं कि डेटा को कैसे संरचित, संबंधित और बाधित किया जाता है, और क्वेरी भाषाएँ औपचारिक संकेतन हैं जिनका उपयोग उन मॉडलों के भीतर डेटा को पुनः प्राप्त करने और हेरफेर करने के लिए किया जाता है।
Definition
एक डेटा मॉडल डेटा, डेटा संबंधों, डेटा अर्थ विज्ञान और संगति बाधाओं का वर्णन करने के लिए वैचारिक उपकरणों का एक संग्रह है; एक क्वेरी भाषा ऐसे मॉडल में व्यक्त डेटाबेस से जानकारी का अनुरोध करने और उसे संशोधित करने के लिए एक संकेतन है।
Scope
यह क्षेत्र डेटा का वर्णन करने के लिए उपयोग किए जाने वाले अमूर्तता को शामिल करता है — संबंधपरक मॉडल (relational model), इकाई-संबंध आरेख (entity-relationship diagrams), और अर्ध-संरचित (semistructured) और दस्तावेज़ मॉडल (document models) — साथ ही घोषणात्मक (declarative) और बीजगणितीय भाषाओं (algebraic languages) को भी, मुख्य रूप से संबंधपरक बीजगणित (relational algebra) और SQL, जिनका उपयोग उनके विरुद्ध क्वेरी और अपडेट व्यक्त करने के लिए किया जाता है। यह बताता है कि एक मॉडल स्कीमा (schemas), इंस्टेंस (instances), कुंजियों (keys) और अखंडता बाधाओं (integrity constraints) को कैसे परिभाषित करता है, और एक क्वेरी भाषा की अभिव्यंजक शक्ति अंतर्निहित मॉडल से कैसे संबंधित है। इसमें भौतिक भंडारण, अनुक्रमणिका (indexing), और क्वेरी के निष्पादन (क्वेरी प्रसंस्करण और अनुकूलन में शामिल) और स्कीमा को परिष्कृत करने के डिजाइन अनुशासन (डेटाबेस डिजाइन और सामान्यीकरण में शामिल) को बाहर रखा गया है।
Sub-topics
Core questions
- एक डेटा मॉडल संस्थाओं, संबंधों और बाधाओं का प्रतिनिधित्व कैसे करता है?
- संबंधपरक मॉडल और संबंधपरक बीजगणित तथा SQL के बीच क्या संबंध है?
- एक वैचारिक इकाई-संबंध डिजाइन को तार्किक संबंधपरक स्कीमा में कैसे मैप किया जाता है?
- अर्ध-संरचित और दस्तावेज़ मॉडल लचीलेपन के लिए कठोर स्कीमा का व्यापार कैसे करते हैं?
- एक क्वेरी भाषा की अभिव्यंजक शक्ति और सीमाओं को क्या निर्धारित करता है?
Key concepts
- संबंध, टपल और विशेषता
- स्कीमा और इंस्टेंस
- कुंजियाँ और अखंडता बाधाएँ
- संबंधपरक बीजगणित
- SQL
- इकाई-संबंध आरेख
- अर्ध-संरचित डेटा
- दस्तावेज़ और JSON मॉडल
- डेटा स्वतंत्रता
Key theories
- संबंधपरक मॉडल
- कॉड का संबंधपरक मॉडल सभी डेटा को संबंधों (नामित विशेषताओं पर टपल्स के सेट) के रूप में प्रस्तुत करता है, डेटा के तार्किक दृश्य को उसके भौतिक भंडारण से अलग करता है और सेट सिद्धांत और प्रेडिकेट लॉजिक (predicate logic) पर आधारित एक गणितीय नींव प्रदान करता है।
- संबंधपरक पूर्णता
- एक क्वेरी भाषा संबंधपरक रूप से पूर्ण होती है यदि वह संबंधपरक बीजगणित में व्यक्त की जा सकने वाली प्रत्येक क्वेरी को व्यक्त कर सकती है; कॉड द्वारा प्रस्तुत यह मानदंड, SQL जैसी व्यावहारिक भाषाओं की अभिव्यंजक शक्ति के लिए एक आधार रेखा निर्धारित करता है।
- इकाई-संबंध मॉडल
- चेन का इकाई-संबंध मॉडल दुनिया को संस्थाओं, उनकी विशेषताओं और उनके बीच के संबंधों के संदर्भ में वर्णित करता है, जो एक उच्च-स्तरीय वैचारिक डिजाइन संकेतन प्रदान करता है जिसे व्यवस्थित रूप से संबंधपरक स्कीमा में अनुवादित किया जा सकता है।
Clinical relevance
डेटा मॉडल और क्वेरी भाषाएँ अनिवार्य रूप से सभी सूचना प्रणालियों की नींव हैं: संबंधपरक मॉडल और SQL उद्यम डेटाबेस, वित्तीय प्रणालियों और वेब बैक एंड को आधार प्रदान करते हैं, जबकि इकाई-संबंध मॉडलिंग आवश्यकताओं के विश्लेषण को संरचित करती है, और दस्तावेज़ और अर्ध-संरचित मॉडल वेब, लॉग और कॉन्फ़िगरेशन डेटा के लचीले भंडारण का समर्थन करते हैं।
History
प्रारंभिक डेटाबेस ने पदानुक्रमित (hierarchical) और नेटवर्क (CODASYL) मॉडल का उपयोग किया जिसमें नेविगेशन भौतिक भंडारण से जुड़ा था। कॉड के 1970 के संबंधपरक मॉडल ने डेटा स्वतंत्रता और एक घोषणात्मक बीजगणित की शुरुआत की; इससे 1970 के दशक में सिस्टम आर (System R) और इंग्रेस (Ingres) का विकास हुआ और SQL का भी, जो एक ISO मानक बन गया। चेन के 1976 के इकाई-संबंध मॉडल ने एक वैचारिक डिजाइन परत जोड़ी, और 1990 के दशक के अंत में वेब और XML के साथ अर्ध-संरचित और दस्तावेज़ मॉडल उभरे।
Key figures
- Edgar F. Codd
- Peter Chen
- Jeffrey D. Ullman
- Jennifer Widom
Related topics
Seminal works
- codd1970
- chen1976
- silberschatz2019
Frequently asked questions
- संबंधपरक बीजगणित और SQL में क्या अंतर है?
- संबंधपरक बीजगणित ऑपरेटरों (चयन, प्रक्षेपण, जॉइन, यूनियन, आदि) की एक प्रक्रियात्मक गणितीय भाषा है जो संबंधों पर काम करती है, जिसका उपयोग क्वेरी के बारे में तर्क करने और उन्हें अनुकूलित करने के लिए किया जाता है। SQL वास्तविक प्रणालियों में उपयोग की जाने वाली व्यावहारिक घोषणात्मक भाषा है; यह संबंधपरक बीजगणित और कैलकुलस पर आधारित है लेकिन इसमें समूहीकरण, एकत्रीकरण, नल हैंडलिंग और मल्टीसेट (बैग) सिमेंटिक्स जैसी सुविधाएँ शामिल हैं।
- तालिकाएँ डिज़ाइन करने से पहले डेटा को वैचारिक रूप से मॉडल क्यों करें?
- इकाई-संबंध आरेख जैसे वैचारिक मॉडल उन शब्दों में आवश्यकताओं को कैप्चर करते हैं जिन्हें उपयोगकर्ता समझते हैं — चीजें और उनके बीच के संबंध — कार्यान्वयन से स्वतंत्र। एक मान्य वैचारिक डिजाइन को संबंधपरक तालिकाओं में अनुवाद करने से सीधे तालिकाएँ बनाने की तुलना में अतिरेक और डिजाइन त्रुटियाँ कम होती हैं।