रिलेशनल डेटाबेस क्या है? [बन्द है]


9

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

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


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

1
आपका बॉस ऐसा सवाल क्यों पूछेगा और इससे भी महत्वपूर्ण बात यह है कि इसका सिस्टम प्रशासन से क्या संबंध है?
जॉन गार्डनियर्स

1
@ जॉन गार्डनियर्स, यह यहां हो सकता है क्योंकि कई 'सिस्टम व्यवस्थापक' एक 'डेटाबेस प्रशासन' टोपी पहनते हैं, जिसका अर्थ है कि वे आरडीबीएमएस कैसे काम करते हैं, इसकी अच्छी समझ है। जैसा कि क्यों बॉस सवाल पूछते हैं कि वे क्या करते हैं, कौन जानता है, लेकिन अवधारणाओं को स्पष्ट रूप से कैसे संवाद करना है यह जानना अच्छी बात है आईएमओ।
जोर्डेचेस

1
@Zoredache, अपनी नौकरी में मैं कई टोपी पहनता हूं। इसका मतलब यह नहीं है कि वे सभी एसएफ के लिए विषय पर हैं।
जॉन गार्डनियर्स

नीचे दिए गए उत्तर बहुत अच्छे हैं, लेकिन ध्यान रखें कि आपके पास गैर-संबंधपरक डेटाबेस (जैसे btrieve) हो सकते हैं और अभी भी उचित अनुप्रयोग तर्क के माध्यम से सामान्यीकृत डेटा के बीच संबंधों को बनाए रख सकते हैं।
मार्क हेंडरसन

जवाबों:


16

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

सामान्यीकरण गैर-जटिल संबंधों का कार्य है: "हर चीज को यथासंभव सरल बनाओ, लेकिन कोई सरल नहीं।" (एलन पर्लीस) कभी-कभी "... लेकिन कोई सरल नहीं" का अर्थ है कि हम चीजों को पूरी तरह से सामान्यीकृत नहीं करते हैं, क्योंकि "सरल" समाप्त होता है और अधिक जटिल होता है। (आप राज्य को ज़िप कोड से प्राप्त कर सकते हैं, लेकिन परेशान क्यों हैं?)


10

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

कृपया समझें कि RDBMS में होस्ट किए गए सभी डेटाबेस ठीक से सामान्यीकृत नहीं हैं। प्रदर्शन और अन्य कारणों से समझौता किया जाता है।

डेटाबेस सामान्यीकरण पर लेख देखें। http://en.wikipedia.org/wiki/Database_normalization


4

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

दूसरा यह है कि RDBMS एक लेन-देन, ACID गुणों के विचार को लागू करते हैं

  • atomicity,
  • स्थिरता,
  • अलगाव, और
  • सहनशीलता

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


3

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


1

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

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

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

अनुप्रयोग सामने के छोर से एक अलग इकाई के रूप में, और डेटा की संरचना के एक सुसंगत दृश्य के साथ, डेटाबेस प्रबंधन प्रणाली का उपयोग अलग-अलग साधनों को अलग-अलग उद्देश्यों के लिए सामने के अंत में उपयोग करने की अनुमति देता है - इसलिए आप बहुत अधिक उपयोग कर सकते हैं एक समाधान के निर्माण के दौरान शेल्फ के घटक।

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


1

100% गैर तकनीकी उत्तर:

एक रिलेशनल डेटाबेस एक तरह से डेटा को स्टोर करने के लिए एक जगह है ताकि अतिरेक को कम किया जा सके और आप आसानी से इसके माध्यम से खोज कर सकें।

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

ग्राहक का नाम | ग्राहक फोन नंबर | ग्राहक का पता | आइटम खरीदा | कीमत | तारीख

पहला ग्राहक, श्रीमती स्मिथ, बिल्ली का खाना खरीदती है:

ग्राहक का नाम | ग्राहक फोन नंबर | ग्राहक का पता | आइटम खरीदा | कीमत | तारीख
श्रीमती स्मिथ | 123-555-1234 | 10 मुख्य सेंट | बिल्ली का खाना | $ 15 | 2011-03-11

और फिर श्रीमती स्मिथ एक बिल्ली का खिलौना भी पसंद करेंगी:

ग्राहक का नाम | ग्राहक फोन नंबर | ग्राहक का पता | आइटम खरीदा | कीमत | तारीख
श्रीमती स्मिथ | 123-555-1234 | 10 मुख्य सेंट | बिल्ली का खाना | $ 15 | 2011-03-11
श्रीमती स्मिथ | 123-555-1234 | 10 मुख्य सेंट | बिल्ली का खिलौना | $ 1 | 2011-03-11

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

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


इसके अलावा, यह उल्लेख करना बहुत महत्वपूर्ण है: pinaldave.com/blogfolder/dilbert5.jpg
MPelletier

1

कुछ अच्छे तकनीकी जवाब यहाँ। लेकिन मेरा बॉस उनमें से किसी को नहीं समझेगा!

मैं एक अत्यंत सरल व्याख्या के साथ शुरू करूंगा - 'यदि आप अपना डेटा किसी फ़ाइल में सहेजते हैं, तो यह एक लंबी सूची के रूप में प्रकट होता है। एक रिलेशनल डेटाबेस डेटा को मैप या ग्राफ़ की तरह सहेजता है, इसलिए मैप के अलग-अलग हिस्से एक-दूसरे से लिंक होते हैं ...। '

और एक उदाहरण - '.... उदाहरण के लिए आपका नाम आपके पते के लिंक, जो बदले में आपके शहर से लिंक हो सकता है।'

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

और इसे एक विश्वसनीयता बयान के साथ समाप्त करें - 'संबंधपरक डेटाबेस कई वर्षों से आसपास हैं, प्रौद्योगिकी के बहुत परिपक्व टुकड़े हैं। हमारे विशेष उत्पाद [यहाँ उत्पाद नाम है] '।


0

मेरे बॉस डीबीए हैं, लेकिन आम आदमी के संदर्भ में:

एक्सेल में दो टेबल के बारे में सोचें, और एक टेबल से दूसरे टेबल में संदर्भ आइटम के लिए LOOKUP फ़ंक्शन। अब स्केल जो कम से कम 10 का कारक है।

यह कुछ लोगों और काम के कंप्यूटर स्तर के बारे में है।

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