एक संबंधपरक और गैर-संबंधपरक डेटाबेस के बीच अंतर क्या है?


82

मुझे पता है कि MySQL, PostgreSQL और MS SQL Server जैसे समाधान रिलेशनल डेटाबेस सिस्टम हैं, और NoSQL, MongoDB, आदि गैर-संबंधपरक DBMS हैं।

हालांकि, दो प्रकार के सिस्टम के बीच अंतर क्या हैं?

आम आदमी की शर्तें बेहतर हैं।

धन्यवाद।


11
यह होमवर्क नहीं है ... लेकिन आज मैं एक दोस्त को मतभेद समझाने की कोशिश कर रहा था और थोड़े खाली होने लगा। इसलिए मुझे लगा कि मैं यहां खोज करूंगा और कोई संतोषजनक स्पष्टीकरण नहीं मिला। तो मुझे लगा कि मैं पूछूंगा। अंतर मैं कह रहा था कि RDBMS के साथ तालिकाओं के बीच तालिकाओं और जोड़ों के बहुत सारे हैं। NoSQL में कई टेबल नहीं होते हैं, इसमें सिर्फ एक टेबल होती है और इसमें महत्वपूर्ण मूल्य जोड़े होते हैं। यकीन नहीं है कि अगर यह एक सटीक विवरण है, तो मुझे लगा कि मैं पूछूंगा।
marcamillion

मुझे ये उत्तर अकारण लगे क्योंकि वे बहुत अधिक समय यह बात करने में लगाते हैं कि वास्तव में प्रश्न का उत्तर दिए बिना प्रश्न कितना कठिन है। इस ब्लॉग पोस्ट को पढ़ने के बाद मुझे लगता है कि मुख्य विचार nosql स्केलिंग में sql dbs से बेहतर है यानी स्केलिंग करते समय वितरित हो जाना अर्थात किसी एक मशीन पर अधिक गणना शक्ति अब एक विकल्प नहीं है।
mbigras

जवाबों:


23

रिलेशनल डेटाबेस में गणितीय आधार (सेट सिद्धांत, रिलेशनल सिद्धांत) होता है, जो SQL == संरचित क्वेरी भाषा में डिस्टिल्ड होता है।

NoSQL के कई रूप (जैसे दस्तावेज़-आधारित, ग्राफ़-आधारित, ऑब्जेक्ट-आधारित, कुंजी-मूल्य की दुकान, आदि) एक गणितीय सिद्धांत के आधार पर हो सकते हैं या नहीं भी हो सकते हैं। जैसा कि एस। लोट ने सही ढंग से बताया है, पदानुक्रमित डेटा स्टोर वास्तव में एक गणितीय आधार है। ग्राफ डेटाबेस के लिए भी यही कहा जा सकता है ।

मुझे NoSQL डेटाबेस के लिए एक सार्वभौमिक क्वेरी भाषा की जानकारी नहीं है।


"ऐसी कोई गणितीय आधार नहीं है"? वास्तव में? पदानुक्रमित डेटाबेस मुझे बहुत गणितीय लगता था। तुलनात्मक रूप से वे अपेक्षाकृत सरल भी थे। मुझे लगता है कि XML डेटाबेस के लोगों के पास एक पदानुक्रमित डेटाबेस में क्या किया जा सकता है (और नहीं कर सकता) पर एक बहुत ठोस ताला है।
एस.लॉट

यहाँ काम पर मेरी अज्ञानता या अति-सरलीकरण हो सकता है, एस। लोट। मैं एक संदर्भ की तलाश करूंगा।
duffymo

1
मैं इस मामले का कोई विशेषज्ञ नहीं हूं, लेकिन चूंकि वे सभी संरचित डेटास्टायर हैं, मेरा मानना ​​है कि कम से कम SQL का सबसेट किसी भी मॉडल पर लागू किया जा सकता है। उस बात के लिए, मुझे वास्तव में पसंद है कि कैसे Google ने एक क्वेरी भाषा उजागर की है जो SQL के लिए उनके बिग टेबल कोड के लिए सच है । Googleappengine/docs/python/datastore/… । वास्तव में चीजों को बहुत आसान बना दिया।
फिलिप डुपनोविक

43

हम्म, यह निश्चित नहीं है कि आपका प्रश्न क्या है।

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

एक DBMS एक उपकरण है जो आपको DB का उपयोग करने की अनुमति देता है।

डेटा के अलावा, एक DB यह अवधारणा है कि डेटा कैसे संरचित है।

तो जैसे आप एक गैर-OO संचालित संकलक के साथ ओरिएंटेड ऑब्जेक्ट कार्यप्रणाली के साथ प्रोग्राम कर सकते हैं, या इसके विपरीत, तो क्या आप RDBMS के बिना एक रिलेशनल डेटाबेस सेट कर सकते हैं या गैर-संबंध डेटा संग्रहीत करने के लिए RDBMS का उपयोग कर सकते हैं।

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

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

एक गैर-संबंधपरक डेटाबेस सिर्फ डेटा को अलग-अलग बाल्टियों से एक दूसरे से जोड़ने के लिए स्पष्ट और संरचित तंत्र के बिना संग्रहीत करता है।

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

मुझे उम्मीद है कि यह आम आदमी के लिए पर्याप्त है और आपकी समझ में मददगार है।


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

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

22

आप जो "जानते हैं" अधिकांश गलत है।

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

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

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

NoSQL डेटाबेस के अधिकांश डेटाबेस में इस तरह का प्रवर्तन प्रदान करने का प्रयास नहीं करते हैं। यह आपके ऊपर है, उस कोड में जो डेटाबेस का उपयोग करता है, आपके डेटा के लिए आवश्यक किसी भी रिश्ते को लागू करने के लिए। ज्यादातर मामलों में, यह केवल आंशिक रूप से सही होने वाले डेटा को देखने के लिए संभव है, इसलिए यहां तक ​​कि अगर आपके पास एक परिवार का पेड़ है, जहां हर व्यक्ति को माता-पिता के साथ जुड़ा होना चाहिए, तो कई बार हो सकता है कि आपने जो भी बाधाएं डाली हैं वे वास्तव में नहीं होंगे। लागू किया। कुछ आपको वसीयत में ऐसा करने देगा। दूसरों की गारंटी है कि यह केवल अस्थायी रूप से होता है, हालांकि यह कितने समय तक चल सकता है / यह सवाल के लिए खुला हो सकता है।


9

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

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

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

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


6

इस प्रश्न को थोड़ा सा प्रौद्योगिकी के संदर्भ में एक स्तर पर समझाने की कोशिश करें

तुलना के लिए MongoDB और पारंपरिक SQL लें, ट्विटर पर एक ट्वीट पोस्ट करने के परिदृश्य की कल्पना करें। इस ट्वीट में 9 तस्वीरें हैं। आप इस ट्वीट और इसके संबंधित चित्रों को कैसे संग्रहीत करते हैं?

पारंपरिक संबंध एसक्यूएल के संदर्भ में, आप ट्वीट्स और चित्रों को अलग-अलग तालिकाओं में संग्रहीत कर सकते हैं, और एक नई तालिका बनाने के माध्यम से कनेक्शन का प्रतिनिधित्व कर सकते हैं।

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

MongoDB का उपयोग करके, आप इस तरह से एक दस्तावेज बना सकते हैं (संबंधपरक SQL में एक तालिका की अवधारणा के समान):

{

"id":"XXX",

"user":"XXX",

"date":"xxxx-xx-xx",

"content":{

"text":"XXXX",

"picture":["p1.png","p2.png","p3.png"]

}

इसलिए, मेरी राय में, मुख्य अंतर यह है कि आप डेटा और उनके बीच संबंधों के भंडारण स्तर को कैसे संग्रहीत करते हैं।

इस उदाहरण में, डेटा ट्वीट और चित्र है। उनके बीच संबंधों के भंडारण के स्तर के बारे में विभिन्न तंत्र भी दोनों के अंतर में महत्वपूर्ण भूमिका निभाते हैं।

मुझे उम्मीद है कि यह छोटा उदाहरण SQL और NoSQL (ACID और BASE) के बीच के अंतर को दिखाने में मदद करता है।

यहाँ इंटरनेट से NoSQL के लक्ष्यों के बारे में तस्वीर का लिंक दिया गया है:

http://icamchuwordpress-wordpress.stor.sinaapp.com/uploads/2015/01/dbc795f6f262e9d01fa0ab9b323b2dd1_b.png


वास्तव में अच्छी व्याख्या, वहाँ लिंक है जहाँ मुझे पहला विचार मिला, मुझे आशा है कि यह कुछ मदद कर सकता है। growthefuturenow.com/relational-vs-non-relational-database
मुहम्मद सादिक

4

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

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

जब तक आप डेटाबेस के तालिकाओं को पॉप्युलेट करने के लिए उपयोग किए जाने वाले फ्रंट एंड एप्लिकेशन में इस बाधा को लागू नहीं करते हैं, आप एक गड़बड़ को लागू कर रहे हैं जिसकी तुलना जंगली पश्चिम से की जा सकती है।


1

पहले मुझे यह कहने से शुरू करें कि हमें डेटाबेस की आवश्यकता क्यों है।

हमें इस तरह से जानकारी को व्यवस्थित करने में मदद करने के लिए एक डेटाबेस की आवश्यकता होती है ताकि हम उस डेटा को एक कुशल तरीके से संग्रहीत कर सकें।

संबंधपरक डेटाबेस प्रबंधन प्रणाली (एसक्यूएल) के उदाहरण:

1) Oracle डेटाबेस

2) SQLite

3) PostgreSQL

4) MySQL

5) Microsoft SQL सर्वर

6) IBM DB2

गैर संबंधपरक डेटाबेस प्रबंधन प्रणाली (NoSQL) के उदाहरण

1) MongoDB

2) कैसेंड्रा

3) Redis

4) काउचआधारित

5) HBase

6) DocumentDB

7) Neo4j

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

मुझे एक उदाहरण के रूप में PostgreSQL का उपयोग करके एक रिलेशनल डेटाबेस में डेटा दर्ज करने दें।

सबसे पहले एक उत्पाद तालिका इस प्रकार बनाएं:

CREATE TABLE products (
    product_no integer,
    name text,
    price numeric
);

फिर डेटा डालें

INSERT INTO products (product_no, name, price) VALUES (1, 'Cheese', 9.99);

आइए एक और अलग उदाहरण देखें: यहां छवि विवरण दर्ज करें

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

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

मुझे मोंगोडब का उपयोग करके एक गैर-संबंधित डेटाबेस में डेटा दर्ज करने के लिए एक उदाहरण दिखाते हैं

db.users.insertOne({name: ‘Mary’, age: 28 , occupation: ‘writer’ })
db.users.insertOne({name: ‘Ben’ , age: 21})

इसलिए आप समझ सकते हैं कि डेटाबेस को db कहा जाता है, और उपयोगकर्ताओं के नाम से एक संग्रह है, और डॉक्यूमेंट कहा जाता है, जिसमें हम डेटा जोड़ते हैं, और कोई निश्चित स्कीमा नहीं है क्योंकि हमारे पहले रिकॉर्ड में 3 विशेषताएँ हैं, और दूसरी विशेषता में केवल 2 विशेषताएँ हैं , यह गैर-संबंधपरक डेटाबेस में कोई समस्या नहीं है, लेकिन यह रिलेशनल डेटाबेस में नहीं किया जा सकता है, क्योंकि रिलेशनल डेटाबेस में एक निश्चित स्कीमा है।

आइए एक और अलग उदाहरण देखें

({Studname: ‘Ash’, Subname: ‘Mathematics’, LecturerName: ‘Mr. Oak’})

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

आशा है कि यह सब कुछ समझाता है


-1

आम शब्दों में यह दृढ़ता से संरचित बनाम असंरचित है, जिसका तात्पर्य है कि आपके पास अपने DB के लिए अनुकूलन क्षमता के विभिन्न डिग्री हैं। इंडेक्सेशन में अंतर विशेष रूप से तब होता है जब आपको यह सुनिश्चित करने की आवश्यकता होती है कि एक निश्चित संदर्भ इंडेक्स किसी अन्य आइटम से लिंक कर सकता है -> यह एक संबंध है। रिलेशनल डीबी की अधिक सख्त संरचना इस आवश्यकता से आती है।

यह नोट करने के लिए कि NosDB उदासीनता से दोनों संबंधपरक और गैर संबंधपरक DBs प्रदान करता है और दोनों को http://www.alachisoft.com/nosdb/sql-cheat-sheet.html क्वेरी करने का एक तरीका है

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