डेटा क्या है? (What is Data)
डेटा सूचना की विभिन्न छोटी इकाईयों का संग्रह है। इसका उपयोग text, numbers, media, bytes आदि विभिन्न रूपों में किया जा सकता है। इसे कागज में या इलेक्ट्रॉनिक मेमोरी आदि में संग्रहित किया जा सकता है।
‘डेटा’ शब्द की उत्पत्ति ‘डेटम’ शब्द से हुई है जिसका अर्थ है ‘सूचना का एक टुकड़ा’। यह डेटम शब्द का बहुवचन है।
डेटाबेस क्या है? (What is Database)
एक डेटाबेस व्यवस्थित जानकारी, या डेटा का एक संग्रह है, जिसे आमतौर पर कंप्यूटर सिस्टम में इलेक्ट्रॉनिक रूप से संग्रहीत (store) किया जाता है। एक डेटाबेस को आमतौर पर एक डेटाबेस मैनेजमेंट सिस्टम (DBMS) द्वारा नियंत्रित (control) किया जाता है।
डेटाबेस हमारे जीवन का एक अनिवार्य हिस्सा है। रोज़ हम ऐसी कई गतिविधियाँ करते हैं जिसमें डेटाबेस शामिल होता है | जैसे बैंक में, रेलवे स्टेशन में, स्कूल में, किराने की दुकान में, आदि। ये ऐसे उदाहरण हैं जहां हमें एक ही स्थान पर बड़ी मात्रा में डेटा स्टोर करने की आवश्यकता होती है।
डाटा के कलेक्शन को डेटाबेस कहा जाता है, जिसे संरचित डेटा (structured data) भी कहा जाता है। इसे कंप्यूटर सिस्टम में एक्सेस या स्टोर किया जा सकता है। इसे डेटाबेस मैनेजमेंट सिस्टम (DBMS) के माध्यम से manage किया जा सकता है, जो डेटा को manage करने के लिए उपयोग किया जाने वाला सॉफ़्टवेयर है |
एक डेटाबेस में, डेटा को table में पंक्तियों (rows) और स्तंभों (Column) में व्यवस्थित किया जाता है, ताकि डेटा को आसानी से Update, Expend और delete किया जा सके। कंप्यूटर डेटाबेस में आम तौर पर विभिन्न डेटा रिकॉर्ड होते हैं, जैसे एक बैंक खाते से दूसरे बैंक खाते में लेन-देन का विवरण, बिक्री और ग्राहक विवरण, छात्रों का शुल्क विवरण या किसी प्रोडक्ट का विवरण आदि| डेटाबेस कई प्रकार के होते हैं जैसे – relational database, distributed database, cloud database, NoSQL databases.
कंप्यूटर में डाटा को स्टोर करने के विभिन्न प्रकार के तरीके है, जैसे – Data को Document के रूप में स्टोर कर सकते है, Worksheet के रूप में Store कर सकते है या फिर प्रोग्राम फाइल के रूप में स्टोर कर सकते है | Data को जब हम Row तथा Column में के रूप में Store करते है तो इसे Table कहते है | जब एक या एक एक से अधिक Tables को एक फाइल के रूप में स्टोर करते है तो इसे Database कहते है |
“The collection of Data in Rows and Columns format is known as database.”
एक डेटाबेस फाइल में एक या एक से अधिक Tables होती है प्रत्येक टेबल में एक या एक से अधिक रिकार्ड्स होते है | प्रत्येक रिकॉर्ड row तथा Columns का Combination होता है|
जैसे -: यदि किसी Student का डेटाबेस तैयार करना है तो इसमें Name, Add, Contact इसके Columns है | इन्हें Fields या Attribute भी कहते है | जब एक Student के Name, Add, Contact को इन फ़ील्ड्स में स्टोर करते है तब एक रिकॉर्ड पूरा होता है इसी तरह एक से अधिक Students के रिकॉर्ड को जब इसमें स्टोर करते है तब इसे एक टेबल कहते है | इसी तरह और टेबल Tables जैसे – Teacher, Library इत्यादि को भी डेटाबेस में Create कर सकते है |
डेटाबेस के प्रकार (Types of Database)
- Hierarchical databases
- Network databases
- Object-oriented databases
- Relational databases
- NoSQL databases
1. Hierarchical Databases
Hierarchical Databases वह डेटाबेस होता है जिसमे डाटा को उनके Common Point या Link के आधार पर Rank या level के रूप में categorize किया जाता है | इसका मतलब किसी भी दो प्रकार के डाटा को हम lower rank में रखेंगे और इन दो प्रकारों में जप common होगा उस एंटिटी (Entity) को हम higher rank में रखेंगे | Hierarchical Databases को आप नीचे चार्ट के माध्यम से समझ सकते हैं |
ऊपर दिए गए उदाहरण से आप समझ सकते हैं यहां पर डिपार्टमेंट और एडमिनिस्ट्रेशन दोनों अलग-अलग तथ्य (Entity) है लेकिन यह दोनों ही यूनिवर्सिटी के अंतर्गत आते हैं इसी प्रकार स्टूडेंट, वैकेंसी एंड सोर्सेस डिपार्टमेंट के अंतर्गत आते हैं |
Hierarchical Database में हम डाटा को parent-child relationship के आधार पर संगठित (organize) करते हैं | जिसमें child record को उनकी डाटा की प्रकति के आधार पर parent record से लिंक किया जाता है | एक parent record के कई child records हो सकते हैं |
2. Network Database
नेटवर्क डेटाबेस वह डेटाबेस होता है जिसमें किसी child records के एक से ज्यादा पैरंट रिकॉर्ड हो सकते हैं | इसमें चाइल्ड रिकॉर्ड स्वतंत्र रूप से कई पेरेंट्स रिकॉर्ड से जुड़े हुए हो सकते हैं |
उदाहरण के लिए नीचे दिए गए चार्ट में हम देख सकते हैं कि स्टूडेंट,फैकेल्टी और रिसोर्सेज के दो पेरेंट्स रिकॉर्ड क्लब और डिपार्टमेंट हैं | Network Database का एक नुक्सान यह है कि इस प्रकार के Database बहुत जटिल और structurally dependent होते हैं | इसलिए इसमें कोई भी बदलाव करना मुश्किल होता है |
3. Object Oriented Database
ऑब्जेक्ट-ओरिएंटेड डेटाबेस (OOD) एक डेटाबेस सिस्टम होता है जो ऐसे डेटा ऑब्जेक्ट्स के साथ काम कर सकता है जो बहुत जटिल या कठिन होते हैं। ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में सब कुछ एक ऑब्जेक्ट के रूप में स्टोर होता है, और इनमें से कई ऑब्जेक्ट काफी जटिल होते हैं, जिनमें अलग-अलग Attributes और methods होती हैं।
जैसे कि नाम, पता या कोई रियल नम्बर इत्यादि जो ऑब्जेक्ट के characteristics होते हैं, इनको attribute कहा जाता है, जो कि एक ऑब्जेक्ट के रूप में स्टोर होते हैं। और methods ये बताते हैं, कि ऑब्जेक्ट का behavior कैसा है।
आईये इसको समझते हैं-
जैसे कोई टेबल ऑब्जेक्ट फॉर्म में है, और उसमें नाम, पता, एवं और भी जानकारी उस टेबल के Attributes हैं, तो methods उस टेबल के characteristics को बताती हैं, कि ये किस प्रकार का फंक्शन परफॉर्म करने वाला है।
OOD के साथ, डेटा ऑब्जेक्ट को डेटाबेस में उनकी सभी properties के साथ स्टोर किया जाता है।
जब आपका प्रोग्राम समाप्त हो जाता है, तो ऑब्जेक्ट OOD में स्टोर रहता है। जब आपका प्रोग्राम फिर से शुरू होता है, तो यह डेटाबेस से उसकी properties के साथ एक वस्तु को फिर से प्राप्त कर सकता है।
4. Relational Database
यह एक प्रकार का डेटाबेस है जो एक दूसरे से संबंधित डेटा पॉइंट्स को स्टोर और एक्सेस provide करता है। रिलेशनल डेटाबेस, रिलेशनल मॉडल पर आधारित होते हैं, जो किसी टेबल में डेटा को represent करने का बहुत ही सरल एवं सीधा तरीका है।
एक रिलेशनल डेटाबेस में, टेबल में प्रत्येक row में एक यूनिक आईडी के साथ रिकॉर्ड होता है। जिसमें प्रत्येक row “Primary Key” का use करके दूसरी row के साथ जुड़ी रहती है। टेबल के कॉलम में डेटा की विशेषताएँ (Attributes) होती हैं, और प्रत्येक रिकॉर्ड में सामान्यतः हर एक attribute के लिए एक value होती है, जिससे डेटा पॉइंट्स के बीच relation बनाना आसान हो जाता है।
डेटा को व्यवस्थित करने के लिए इस डेटाबेस को use करना किसी भी यूजर के लिए बहुत आसान है, इसलिए यह तरीका बहुत ज्यादा Popular है।
5. NoSQL Database
NoSQL डेटाबेस को समझने के लिए सबसे पहले ये जानना आवश्यक है, कि इस डाटाबेस की आवश्यकता क्यों पड़ी?
जैसा कि हम जानते हैं कि रिलेशनल डेटाबेस में एक structure के आधार पर ही आप कोई डेटा fill कर सकते हैं।
जैसे किसी टेबल में आप किसी व्यक्ति की जानकारी लिख रहे हैं। और यदि आपको उस व्यक्ति के address की जानकारी नहीं है, तो आप उस कॉलम को खाली नहीं छोड़ सकते हैं, आपको उसमें “NIL” या फिर डेस “-” लगाना पड़ेगा।
या फिर आप चाहते हैं कि इसमें अलग से कोई information fill की जाए तो उसमें अलग से कोई कॉलम ही उपलब्ध नहीं होता है। इस situation में आप डेटा को टेबल के structure के हिसाब से manage करेंगे। इसका सबसे बड़ा disadvantage यह है, कि बड़ी-बड़ी कंपनियों में अगर इस प्रकार से डेटा को मैनेज किया जाए तो, इसमें बहुत ज्यादा टाइम लगता है।
इन सब कमियों को दूर करने के लिए NoSQL Database का उपयोग किया जाता है। क्योंकि इसमें टेबल के structure के हिसाब से डेटा को मैनेज नहीं करना पड़ता। अगर किसी व्यक्ति के address के बारे में आपको जानकारी नहीं है, तो इसमें आप उस कॉलम को खाली छोड़ सकते हैं, या फिर आप कोई नई जानकारी को जोड़ना चाहते हैं तो ये भी कर सकते हैं।
NoSQL database की इन्ही विशेषताओं के कारण बड़ी-बड़ी कंपनियों एवं बिज़नेस में इसका सबसे ज्यादा उपयोग किया जाता है।
NoSQL Databases के प्रकार
- Key-value Pair Based
- Column-oriented Graph
- Graphs based
- Document-oriented