Android SQLite डेटाबेस पर परिचय



ब्लॉग Android SQLite डेटाबेस के लिए एक परिचय प्रदान करता है

Android SQLite डेटाबेस पर परिचय

Android SQLite डेटाबेस में बहुत कम मेमोरी (लगभग 250kb) की आवश्यकता होती है, जो सभी Android उपकरणों पर उपलब्ध है। हर डिवाइस में SQLite डेटाबेस के लिए एक इनबिल्ट सपोर्ट होता है, जो स्वचालित रूप से अपने निर्माण से एंड्रॉइड राइट पर प्रबंधित होता है, प्रक्रिया को क्वेरी करने के लिए निष्पादन।





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

SQLite के बुनियादी लाभ:



  • यह एक हल्के वजन वाला डेटाबेस है
  • बहुत कम मेमोरी की आवश्यकता होती है
  • एक स्वचालित रूप से प्रबंधित डेटाबेस

SQLite केवल 3 डेटाटिप्स का समर्थन करता है:

  • पाठ (स्ट्रिंग की तरह) - डेटा प्रकार की दुकान के भंडारण के लिए
  • पूर्णांक (जैसे इंट) - पूर्णांक प्राथमिक कुंजी संग्रहीत करने के लिए
  • वास्तविक (डबल की तरह) - लंबे मूल्यों को संग्रहीत करने के लिए

मूल रूप से SQLite स्वयं द्वारा डेटाटाइप को मान्य नहीं करता है। दूसरे शब्दों में, जो भी डेटाटिप्स उपयोग किए जाते हैं, उन्हें वैध करार दिया जाता है।

उदाहरण के लिए, इस मामले में, एक केबल ऑपरेटर के डेटाबेस पर चर्चा की गई है। यहां, नाम फ़ील्ड और फ़ील्ड नाम बॉक्स में 'टेक्स्टफ़ील्ड' ले जाने के साथ एक नई तालिका जोड़ी जाती है। एक यादृच्छिक मूल्य डेटाटाइप बनाया गया है। अंतिम परिणाम एक अमान्य डेटाटाइप के साथ एक परीक्षण तालिका है, जो दिखाती है कि SQLite डेटाटाइप को मान्य नहीं करता है।



* एक पैकेज पर क्लिक करके और डेटाबेस फ़ोल्डर में डेटा फ़ोल्डर तक पहुंचने के लिए डेटाबेस पा सकते हैं, जिसमें फ़ाइल शामिल है।

नोट: SQLiteOpen हेल्पर क्लास का उपयोग डेटाबेस निर्माण और संस्करण प्रबंधन के लिए किया जाता है।

sql में क्या अड़चनें हैं

उपयोगकर्ता प्रश्न:

क्या db संस्करण परिणाम में परिवर्तन वस्तु के SQLite संस्करण का परिवर्तन है?

डेटाबेस के एक हैंडलिंग / अपडेट के बाद से ऑब्जेक्ट के SQLite संस्करण में कोई बदलाव नहीं हुआ है, और दूसरा डेटाबेस की तालिकाओं में रखे गए डेटा पर खेल रहा है। जिससे कोई निर्भरता नहीं है

वापस आकर, जब हम SQLiteopenHelper वर्ग का विस्तार करते हैं, तो हम इस कक्षा में Oncreate और OnUpgrad विधियों को ओवरराइट कर देते हैं। जब SQLite डेटाबेस एक्सेस किया जाता है, तो यह क्वेरी की जटिलता के आधार पर कभी-कभी धीमा हो सकता है। हमेशा यह सुनिश्चित करना पसंद किया जाता है कि SQL क्वेरी निष्पादित होने पर पुनरावृत्ति में चलने वाले कम से कम प्रभाव या प्रश्नों से बचा जाता है। यह भी हैडेटाबेस को सिंक्रोनाइज़ करने के लिए अनुशंसित।इन विधियों को स्वचालित रूप से संभाला या फ्रेमवर्क द्वारा बुलाया जाता है। इसके अलावा, यह ध्यान दिया जाना चाहिए कि जब भी कोई DB संस्करण बढ़ाता है, तो यह स्वचालित रूप से उस पर onUpgrad को कॉल करेगा।

c ++ में जाएं

जब भी कोई SQLite ओपन हेल्पर क्लास के बारे में बात करता है, उसके डेटाबेस का नाम और संस्करण विस्तारित वर्ग के कंस्ट्रक्टर में पास हो जाता है।

यहां दो बातों पर ध्यान दिया जाना है:

  • OnCreate () विधि को कहा जाता है, यदि डेटाबेस मौजूद नहीं है।
  • यदि डेटाबेस संस्करण अद्यतन किया गया है, तो OnUpgrad () विधि को कहा जाता है।

SQLite ओपन हेल्पर क्लास कंस्ट्रक्टर में नाम और संस्करण देता है। गेटराइटिटेडब्लडबेस () कहा जाता है और यदि डेटाबेस मौजूद नहीं है, तो यह ऑनक्रीट होगा। यदि स्थिति में, डेटाबेस मौजूद है और अपडेट में संस्करण है, तो यह ऑनपग्रेड () कहेगा।

क्या ये तरीके db के फर्स्टकॉल पर हैं?

एक उदाहरण लेते हैं। एक बार जब हम कोई एप्लिकेशन इंस्टॉल करते हैं, तो वह OnCreate बनाएगा और विधि APK को Google play store पर अपलोड किया जाएगा। एपीके का नवीनतम संस्करण डाउनलोड होने के बाद, यह पहले से इंस्टॉल किए गए डेटाबेस की जांच करेगा। यदि इसका उच्च संस्करण है, तो यह अपग्रेड को कॉल करेगा, यदि नहीं, तो यह कुछ भी नहीं करेगा।

उपयोगकर्ता प्रश्न

क्या db संस्करण को अपग्रेड करने के लिए उपयोगकर्ता की अनुमति होना आवश्यक है?

नहीं, अनुमति की आवश्यकता नहीं है, क्योंकि हम उन आवेदन संसाधनों पर काम कर रहे हैं जिनके लिए हमें अनुमति नहीं लेनी होगी।

उपयोगकर्ता प्रश्न

अगर user1 ने मेरा एप्लिकेशन इंस्टॉल किया है और यह DB के लिए एक उन्नत संस्करण है और बाद में user2 नया एप्लिकेशन इंस्टॉल कर रहा है और उपयोगकर्ता 1 ऐप को अपग्रेड कर रहा है। ऐसे परिदृश्य में, यदि user1 ऑन वर्जन अपग्रेड कहा जाता है और user2 के लिए मेथड मेथड कहा जाता है, तो क्या सभी तरीके android से हैं?

हां, क्योंकि हमारे पास डिवाइस पर पहले से इंस्टॉल कोई संस्करण नहीं है। इससे कोई फर्क नहीं पड़ता, जब तक कि डिवाइस में कोई पूर्व संस्करण स्थापित न हो। यह फ्रेमवर्क हैंडलिंग की तरह है।

सार्वजनिक झांकी का उपयोग कैसे करें

उपयोगकर्ता प्रश्न

क्या हमारे पास SQLite डेटाबेस ऑब्जेक्ट हो सकता है? अगर मेरा db नाम है तो क्या होगासंघर्षकिसी अन्य db नाम वस्तु के साथ?

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

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? उन्हें टिप्पणी अनुभाग में उल्लेख करें और हम आपके पास वापस आ जाएंगे।

संबंधित पोस्ट: