Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

यूनिक्स डेटाबेस के लिए पायथन इंटरफेस (डीबीएम)

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

डीबीएम पैकेज में निम्नलिखित मॉड्यूल हैं &माइनस;

dbm.ndbm मॉड्यूल यूनिक्स "(n)dbm" लाइब्रेरी के लिए एक इंटरफ़ेस प्रदान करता है। Dbm ऑब्जेक्ट शब्दकोशों की तरह व्यवहार करते हैं, कुंजियों और मानों को बाइट्स के रूप में संग्रहीत किया जाना चाहिए। मॉड्यूल समर्थन नहीं करता है और आइटम () और मान () विधियों।

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

ये मॉड्यूल आंतरिक रूप से पायथन के शेल्व मॉड्यूल द्वारा उपयोग किए जाते हैं। शेल्फ डेटाबेस के मामले में, उपयोगकर्ता द्वारा निर्दिष्ट डेटाबेस नाम में '.dir' पोस्टफिक्स होता है। dbm ऑब्जेक्ट का whodb() फंक्शन बताता है कि dbm का कौन सा कार्यान्वयन वर्तमान पायथन इंस्टॉलेशन पर उपलब्ध है।

>>> dbm.whichdb('mydbm.db')

'dbm.dumb'

>>> db = dbm.open('mydbm.db','n')
>>> db['name'] = Rajani Deshmukh'
>>> db['address'] = 'Shivajinagar Pune'
>>> db['PIN'] = '431001'
>>> db.close()

ओपन () फ़ंक्शन इन फ़्लैग्स को मोड करने की अनुमति देता है -

<थेड> <थ>अर्थ
मान
'r'
केवल पढ़ने के लिए मौजूदा डेटाबेस खोलें (डिफ़ॉल्ट)
'w'
पढ़ने और लिखने के लिए मौजूदा डेटाबेस खोलें
'c'
पढ़ने और लिखने के लिए डेटाबेस खोलें, अगर यह मौजूद नहीं है तो इसे बनाना
'n'
हमेशा एक नया, खाली डेटाबेस बनाएं, पढ़ने और लिखने के लिए खुला

एक डीबीएम ऑब्जेक्ट एक ऑब्जेक्ट की तरह एक डिक्शनरी है, जैसे शेल्फ ऑब्जेक्ट। इसलिए सभी शब्दकोश संचालन किया जा सकता है। dbm ऑब्जेक्ट get(),pop(), append(0 और update() मेथड्स को इनवाइट कर सकता है। निम्नलिखित कोड 'mydbm.db' को 'r' फ्लैग के साथ खोलता है और की-वैल्यू पेयर के संग्रह पर पुनरावृति करता है।

>>> db = dbm.open('mydbm.db','r')
>>> for k,v in db.items():
print (k,v)
b'name' : Rajani Deshmukh'
b'address' : b'Shivajinagar Pune'
b'PIN' : b'431001'

dbm ऑब्जेक्ट निम्नलिखित तरीके भी प्रदान करते हैं -

सिंक (): ऑन-डिस्क निर्देशिका और डेटा फ़ाइलों को सिंक्रनाइज़ करें। इस विधि को Shelve.sync() विधि द्वारा बुलाया जाता है।

बंद करें (): डीबीएम डेटाबेस बंद करें।

gnu dbm ऑब्जेक्ट में निम्नलिखित तरीके होते हैं -

फर्स्टकी ()

इस विधि और नेक्स्टकी () विधि का उपयोग करके डेटाबेस में प्रत्येक कुंजी पर लूप करना संभव है। यह विधि प्रारंभिक कुंजी लौटाती है।

जीडीबीएम .अगली कुंजी(कुंजी): ट्रैवर्सल में कुंजी का अनुसरण करने वाली कुंजी लौटाता है।

जीडीबीएम .पुनर्गठन (): यह फ़ंक्शन डेटाबेस को पुनर्गठित करेगा। इस पुनर्गठन का उपयोग करने के अलावा gnu dbm ऑब्जेक्ट डेटाबेस फ़ाइल की लंबाई को छोटा नहीं करेगा; अन्यथा, हटाए गए फ़ाइल स्थान को रखा जाएगा और नए (कुंजी, मान) जोड़े जोड़े जाने पर पुन:उपयोग किया जाएगा।


  1. ग्राफ डेटाबेस

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

  1. ऑब्जेक्ट-ओरिएंटेड डेटाबेस

    ऑब्जेक्ट-ओरिएंटेड डेटाबेस ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग और रिलेशनल डेटाबेस का एक संग्रह है। ऐसे कई आइटम हैं जो ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषाओं जैसे C++, Java का उपयोग करके बनाए गए हैं, जिन्हें रिलेशनल डेटाबेस में स्टोर किया जा सकता है, लेकिन ऑब्जेक्ट-ओरिएंटेड डेटाबेस उन आइटम्स के लिए उपयुक्त

  1. क्लाउड डेटाबेस

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