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

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


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

dbm पैकेज में निम्नलिखित मॉड्यूल हैं -

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

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

ये मॉड्यूल पायथन के shelve मॉड्यूल द्वारा आंतरिक रूप से उपयोग किए जाते हैं। शेल्व डेटाबेस के मामले में, उपयोगकर्ता-निर्दिष्ट डेटाबेस नाम में '.dir' पोस्टफिक्स होता है। dbm ऑब्जेक्ट का whichdb() फंक्शन बताता है कि वर्तमान पायथन इंस्टॉलेशन पर 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()

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

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

एक dbm ऑब्जेक्ट एक डिक्शनरी जैसा ऑब्जेक्ट है, ठीक शेल्फ ऑब्जेक्ट की तरह। इसलिए सभी डिक्शनरी ऑपरेशन किए जा सकते हैं। dbm ऑब्जेक्ट get(), pop(), append() और 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 ऑब्जेक्ट्स निम्नलिखित मेथड्स भी प्रदान करते हैं -

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

close(): dbm डेटाबेस बंद करें।

gnu dbm ऑब्जेक्ट्स के निम्नलिखित मेथड्स हैं -

firstkey()

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

gdbm.nextkey(key): ट्रैवर्सल में key के बाद आने वाली की को लौटाता है।

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


  1. ग्राफ डेटाबेस - अवधारणा, उपयोग और NoSQL से संबंध ग्राफ डेटाबेस - अवधारणा, उपयोग और NoSQL से संबंध

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

  1. ऑब्जेक्ट-ओरिएंटेड डेटाबेस - अवधारणा, विशेषताएं और उपयोग ऑब्जेक्ट-ओरिएंटेड डेटाबेस - अवधारणा, विशेषताएं और उपयोग

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

  1. क्लाउड डेटाबेस - परिभाषा, लाभ, परिनियोजन मॉडल क्लाउड डेटाबेस - परिभाषा, लाभ, परिनियोजन मॉडल

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