डेटाबेस का इतिहास: डेटाबेस और DBMS
बहुत समय पहले एक अमेरिकी देश में, एक बड़ी आईटी कंपनी में, बहुत बड़ी मात्रा में डेटा संग्रहीत करने का कार्य एक बार उत्पन्न हुआ। इसके बारे में इतना मुश्किल क्या है, तुम पूछो? आखिरकार, बड़ी कंपनियों के पास पैसा है, जिसका अर्थ है कि आप अधिक हार्ड ड्राइव खरीद सकते हैं - और बस इतना ही।
महान विचार, लेकिन जैसा कि वे कहते हैं, शैतान विवरण में है। बड़ी मात्रा में डेटा को न केवल संग्रहीत किया जाना था, बल्कि बदलना भी था और उनसे विभिन्न नमूने बनाए गए थे। इसके अलावा, आपको अलग-अलग जगहों से अलग-अलग डेटा चुनने की ज़रूरत है, और इसे जल्दी और खूबसूरती से भी करें।
सामान्य तौर पर, सब कुछ हमेशा की तरह होता है: ग्राहक कुछ ऐसा चाहते थे जो मौजूद न हो, और हार्ड ड्राइव खरीदने का निर्णय इस बार काम नहीं आया।
![](https://cdn.codegym.cc/images/article/ffb700f7-60b3-4cfc-a274-a1a35a6b1f31/512.jpeg)
इसलिए, इस आईटी कंपनी के प्रोग्रामरों ने अपने लिए एक बड़ा बजट खटखटाया, शोध कार्य किया और जब बजट खत्म हो गया, तो उन्होंने एक प्रेजेंटेशन पेश किया, जिसमें डाटाबेस के रूप में डेटा स्टोर करने का प्रस्ताव था। एक डेटाबेस में, सभी डेटा को टेबल्स में स्टोर किया जाता है, और प्रत्येक टेबल को एक अलग फाइल में स्टोर किया जाता है। सरल सब कुछ सरल है और सब कुछ काम करता है।
लेकिन इस तरह की प्रस्तुति ग्राहकों को रास नहीं आई और नाइट-पिकिंग जारी रही:
![](https://cdn.codegym.cc/images/article/a7850c1c-b3ee-403d-8453-dcc511174b7b/512.jpeg)
- पैसा कहाँ है, लेबोव्स्की?
- फ़ाइलों के सेट के रूप में डेटा के अच्छे पुराने संग्रहण से डेटाबेस बेहतर क्यों है?
- हमें वास्तव में एक अच्छा समाधान चाहिए, ऐसा नहीं है!
- और इसमें पूरा बजट लग गया?
प्रेजेंटेशन रूम में मृत सन्नाटा था। हालाँकि, अप्रत्याशित रूप से सभी के लिए, एक जूनियर डेवलपर द्वारा स्थिति को बचाया गया, जिसने कहा कि एक विशेष कार्यक्रम डेटाबेस से जुड़ा था - एक DBMS (डेटाबेस मैनेजमेंट सिस्टम), जो कर सकता है:
- डेटाबेस बनाएं, संशोधित करें और हटाएं
- डेटाबेस में परिवर्तन करें, अर्थात्: नए रिकॉर्ड जोड़ें, पुराने को हटाएं और उन्हें बदलें
- और किसी भी डेटा के विभिन्न चयन करने के लिए सुपर फास्ट भी
और प्रोग्रामर डेटा को फ़िल्टर करने के लिए एक विशेष सुपर-भाषा - SQL को डिज़ाइन करना भी समाप्त कर रहे हैं । और उनका कहना है कि इस जादुई SQL भाषा की मदद से कोई भी मैनेजर डेटाबेस से किसी भी डेटा को आसानी से फ़िल्टर और प्राप्त कर सकता है।
![](https://cdn.codegym.cc/images/article/216e75d9-299a-44a8-9e0a-0cc1d26717a8/512.jpeg)
प्रोग्रामर ने अभी तक भाषा को डिजाइन करना समाप्त नहीं किया है , इसलिए प्रस्तुति में एसक्यूएल और डीबीएमएस के बारे में एक शब्द नहीं है।
हर किसी की खुशी के लिए, ग्राहक उनके द्वारा सुनी गई व्याख्या से प्रभावित हुए, इस बारे में कई परस्पर विरोधी विचार व्यक्त किए कि यह नई भाषा कैसी होनी चाहिए, और यहां तक कि इसके शोधन के लिए एक बजट भी आवंटित किया।
प्रबंधकों और तकनीकी निदेशक ने परियोजना के सफल समापन पर एक-दूसरे को बधाई देना शुरू किया, और तुरंत इस घटना का जश्न मनाने के लिए चले गए, पूरी तरह से यह महसूस नहीं कर रहे थे कि इस पूरी कहानी में जूनियर प्रोग्रामर सबसे महत्वपूर्ण व्यक्ति है ...
लोकप्रिय DBMS और MySQL
इस समय (समर 2022) सैकड़ों लोकप्रिय DBMS हैं, इसलिए उनमें से कुछ के बारे में जानना आपके लिए उपयोगी होगा। मुझे किससे शुरुआत करनी चाहिए...
एक ओर, उद्यम DBMS बाजार दशकों से है। इसलिए, इसमें मान्यता प्राप्त नेता और होनहार नए लोग दोनों हैं। दूसरी ओर, व्यावसायिक आवश्यकताएं लगातार बढ़ रही हैं, इसलिए कंपनियों के आईटी इन्फ्रास्ट्रक्चर के निर्माण के तरीके लगातार बदल रहे हैं।
अब आप क्षैतिज और ऊर्ध्वाधर विखंडन, वितरित लेन-देन के साथ-साथ दो दर्जन सिस्टम प्रशासकों के एक आईटी विभाग के साथ कुछ हजार सर्वरों के समूह से डेटाबेस के साथ किसी को भी आश्चर्यचकित नहीं करेंगे, जो सर्वर हार्ड ड्राइव के अनुसार जाते हैं और बदलते हैं। एक पूर्व निर्धारित कार्यक्रम।
सामान्य तौर पर, यदि आप एक बड़ी कंपनी के लिए काम करते हैं, तो सबसे अधिक संभावना है कि वे अपने डेटाबेस के लिए बहुत पैसा देते हैं और कुछ इस तरह का उपयोग करते हैं:
ओरेकल डाटाबेस
![](https://cdn.codegym.cc/images/article/8a53ac38-0a59-466a-9597-f3e6bf618a43/800.jpeg)
Oracle ने अपना पहला डेटाबेस 1979 में (43 साल पहले) जारी किया था। ग्राहकों को यह विश्वास दिलाने के लिए कि उत्पाद नया नहीं है, बल्कि समय-परीक्षणित है, उसने तुरंत Oracle 2.0 नाम धारण कर लिया।
डेटाबेस का वर्तमान संस्करण Oracle 21 c है , जहाँ अक्षर c क्लाउड शब्द से है , जो कि, जैसा कि था, संकेत देता है कि Oracle समय के साथ चल रहा है और इसके समाधान सभी क्लाउड तकनीकों के साथ पूरी तरह से संगत हैं।
माइक्रोसॉफ्ट एसक्यूएल सर्वर
![](https://cdn.codegym.cc/images/article/532a4cde-2214-4bec-96db-bff84eb41af6/512.jpeg)
Microsoft विंडोज़ नहीं, बल्कि मध्यम और बड़े व्यवसायों के लिए सर्वर समाधान बेचकर बहुत पैसा कमाता है। Microsoft Office, Microsoft SharePoint, Microsoft सर्वर, आदि। और निश्चित रूप से, इन सभी के लिए एक अच्छे डेटाबेस की आवश्यकता होती है। इसलिए, Microsoft उत्पादों और समाधानों का उपयोग करने वाली बहुत सी कंपनियां इसके डेटाबेस का उपयोग करने के लिए मजबूर हैं।
Microsoft के DBMS को केवल SQL सर्वर कहा जाता है, इसलिए यदि आप एक साक्षात्कार में "क्या आपने SQL सर्वर के साथ काम किया है?" सवाल सुनते हैं, तो जान लें कि यह एक अमूर्त DBMS नहीं है, बल्कि Microsoft SQL सर्वर है।
पोस्टग्रेएसक्यूएल
![](https://cdn.codegym.cc/images/article/b31cfc41-69af-488e-8079-5433fa502551/512.jpeg)
यह एक अच्छा मुफ्त DBMS है, जिसका उपयोग अक्सर न केवल छोटी और मध्यम आकार की कंपनियों द्वारा किया जाता है, बल्कि बड़े निगमों द्वारा भी किया जाता है। यह उन डेटाबेसों में से एक है जो Amazon AWS DB-as-service के रूप में प्रदान करता है।
माई एसक्यूएल
![](https://cdn.codegym.cc/images/article/0ea0a78a-41d2-43c3-8cd0-b4c72d4c142a/512.jpeg)
MySQL एक बहुत ही लोकप्रिय फ्री और ओपन सोर्स डेटाबेस है। यह अच्छी तरह से प्रलेखित है, तेजी से काम करता है, और सुविधाओं की एक विस्तृत श्रृंखला का समर्थन करता है। आज तक, इस DBMS का 8वां संस्करण उपलब्ध है।
2008 में इसे Sun ने खरीद लिया, जिसे 2009 में Oracle ने खरीद लिया। और इससे उसे ही फायदा हुआ - उत्पाद लगातार विकसित और सुधार कर रहा है।
हम एक उदाहरण के रूप में MySQL कम्युनिटी सर्वर 8.0 का उपयोग करके डेटाबेस के साथ काम करना सीखेंगे ।
डेटाबेस में टेबल्स: कॉलम और कॉलम
विभिन्न DBMS डेटा को विभिन्न स्वरूपों में संग्रहीत कर सकते हैं, इसलिए हम सबसे सरल और सबसे क्लासिक विकल्प - MySQL DBMS लेंगे।
और तुरंत सवाल यह है: कैसे स्टोर करें, उदाहरण के लिए, कोई लेखा दस्तावेज? प्रत्येक दस्तावेज़ को एक्सेल फ़ाइल के रूप में संग्रहीत करना सबसे आसान विकल्प है। फिर सभी संबंधित दस्तावेजों को एक फोल्डर में स्टोर किया जा सकता है। इस प्रकार MySQL काम करता है।
एक अन्य समानता: जावा भाषा में, आपके प्रोजेक्ट में कक्षाएं और पैकेज हैं , लेकिन साथ ही, डिस्क पर फ़ाइलों और फ़ोल्डरों के रूप में कक्षाओं और पैकेजों का प्रतिनिधित्व किया जाता है । कुछ ऐसा ही MySQL में मौजूद है।
MySQL डेटा को तालिकाओं के रूप में संग्रहीत किया जाता है , जो डेटाबेस में संयुक्त होते हैं , लेकिन साथ ही, टेबल और डेटाबेस को डिस्क पर फ़ाइलों और फ़ोल्डरों के रूप में प्रस्तुत किया जाता है । डेटाबेस एक फ़ोल्डर है, और इसमें फ़ाइलें टेबल हैं।
प्रत्येक तालिका में स्तंभ और पंक्तियाँ होती हैं । उदाहरण:
![](https://cdn.codegym.cc/images/article/ef9c797e-174d-4b27-a109-ff88a837ac5a/512.jpeg)
महत्वपूर्ण! प्रत्येक कॉलम में एक नाम और एक डेटा प्रकार होता है , इसलिए एक ही कॉलम की सभी कोशिकाओं को एक ही प्रकार के मूल्यों को संग्रहित करना चाहिए ।
MySQL में एक तालिका और जावा में एक वर्ग के बीच एक सादृश्य बनाया जा सकता है। एक तालिका एक वर्ग है, एक तालिका, एक वर्ग की तरह, एक अद्वितीय नाम है। तालिका स्तंभ वर्ग क्षेत्र हैं; कॉलम, जैसे फ़ील्ड, का एक अद्वितीय नाम और प्रकार होता है। तालिका पंक्तियाँ जावा में वर्ग उदाहरण हैं।
एक वर्ग वस्तुओं के बिना मौजूद हो सकता है, और एक तालिका पंक्तियों के बिना मौजूद हो सकती है। जावा में, आप एक नई वस्तु बना सकते हैं, और MySQL में, आप तालिका में एक नई पंक्ति जोड़ सकते हैं। आप किसी ऑब्जेक्ट के फ़ील्ड मान को बदल सकते हैं, और MySQL में आप मानों को एक पंक्ति में बदल सकते हैं।
यह कहना और भी सही है कि तालिका एक वर्ग नहीं है, बल्कि एक निश्चित वर्ग की वस्तुओं का संग्रह है। यदि MySQL में हमारे पास कर्मचारियों के डेटा के साथ एक कर्मचारी तालिका है , तो जावा में हम ArrayList संग्रह का उपयोग करेंगे
और, ज़ाहिर है, तुरंत सवाल उठता है: इस संग्रह से कुछ डेटा कैसे प्राप्त करें?
GO TO FULL VERSION