Database Inspector: यह क्या है, SQLite के साथ कैसे कार्य करें और Room डिबग करें

लेखक: IT Sectr प्रकाशित: 2026-05-07 पढ़ने का समय: 8 मिनट

Android Studio में Database Inspector एक अंतर्निहित उपकरण है जो मोबाइल एप्लिकेशन की SQLite डेटाबेस को रीयल टाइम में देखने और डिबग करने के लिए है। आधिकारिक Android Developers दस्तावेज़ीकरण (2025) के अनुसार, यह उपकरण सक्रिय डेटाबेस पर SQL क्वेरी निष्पादित करने, तालिका संरचना देखने और एप्लिकेशन को रोके बिना रिकॉर्ड संपादित करने की अनुमति देता है। यह उपकरण Room, SQLiteOpenHelper और किसी भी in-app डेटाबेस का समर्थन करता है, प्रोफाइलिंग शुरू होने पर उन्हें स्वचालित रूप से खोज लेता है।

मुख्य बिंदु

  • Database Inspector Android Studio का एक घटक है जो क्वेरी निष्पादित करने की क्षमता के साथ रीयल टाइम में एप्लिकेशन की SQLite डेटाबेस देखने के लिए है
  • Room समर्थन — Room के साथ पूर्ण एकीकरण, जिसमें DAO क्वेरी देखना और डेटाबेस में परिवर्तनों को ट्रैक करना शामिल है
  • डेटा संपादन — निरीक्षक इंटरफ़ेस से सीधे तालिका सेल मान बदलना और एप्लिकेशन में तत्काल प्रतिबिंब
  • SQL निष्पादन — JOIN, GROUP BY और उप-क्वेरी सहित मनमानी SQL क्वेरी लिखने और निष्पादित करने की क्षमता
  • डेटाबेस निर्यात — विश्लेषण या सहकर्मियों के साथ साझा करने के लिए कंप्यूटर पर डेटाबेस डंप सहेजना

Database Inspector क्या है?

Database Inspector Android Studio का एक उपकरण है जो मोबाइल एप्लिकेशन में स्थानीय डेटाबेस का निरीक्षण और डिबग करने के लिए है। यह एप्लिकेशन द्वारा बनाए गए सभी SQLite डेटाबेस देखने की अनुमति देता है, जिसमें Room डेटाबेस, SQLiteOpenHelper और तृतीय-पक्ष लाइब्रेरी शामिल हैं। यह उपकरण Android Studio 4.1 से उपलब्ध है और इसे Android Profiler के माध्यम से या सीधे View मेनू से लॉन्च किया जा सकता है।

उद्देश्य और क्षमताएं

Database Inspector का मुख्य उद्देश्य विकास के दौरान डेटा विज़ुअलाइज़ेशन है। डेटाबेस सामग्री को लॉग में आउटपुट करने या डेटा देखने के लिए अलग स्क्रीन लिखने के बजाय, डेवलपर Database Inspector खोल सकता है और तुरंत सभी तालिकाओं, उनकी योजना और सामग्री देख सकता है। उपकरण रिलेशनल SQLite डेटाबेस और Auto-माइग्रेशन के साथ Room दोनों का समर्थन करता है।

Database Inspector का उपयोग कब करें

यह उपकरण उन परिदृश्यों में अपरिहार्य है जब आपको ऑपरेशन करने के बाद डेटा भंडारण की शुद्धता सत्यापित करने की आवश्यकता होती है: उपयोगकर्ता पंजीकरण, सर्वर सिंक्रोनाइज़ेशन, सूची कैशिंग। टेस्ट UI लिखने के बजाय, डेटाबेस डंप Database Inspector के माध्यम से देखा जाता है। उपकरण Room माइग्रेशन को डिबग करने के लिए भी सक्रिय रूप से उपयोग किया जाता है — आप प्रत्येक योजना अद्यतन के बाद वास्तविक तालिका योजना देख सकते हैं।

Database Inspector कैसे काम करता है

Database Inspector Android Profiler Service के माध्यम से Android एप्लिकेशन की प्रक्रिया से जुड़ता है। यह एप्लिकेशन में सभी खुले SQLite कनेक्शनों का पता लगाता है और उन्हें साइड पैनल में प्रदर्शित करता है। API Level 26 (Android 8.0) और उससे ऊपर के साथ एप्लिकेशन की Debug बिल्ड आवश्यक है।

आर्किटेक्चर और कार्य तंत्र

लॉन्च होने पर, Database Inspector डिवाइस पर एप्लिकेशन और कंप्यूटर पर IDE के बीच एक ADB टनल बनाता है। सामग्री प्रदर्शित करने के लिए SQLite WAL (Write-Ahead Logging) डेटाबेस फ़ाइलें इस टनल के माध्यम से स्ट्रीम की जाती हैं। SQL कमांड Room और SQLiteDatabase में Database Inspector के समर्थन के माध्यम से सीधे एप्लिकेशन के SQLite Engine को भेजे जाते हैं। उपकरण स्वचालित रूप से पता लगाता है कि एप्लिकेशन कब डेटाबेस खोलता है और इसे निरीक्षित सूची में जोड़ता है।

पर्यावरण आवश्यकताएं

Database Inspector के सही ढंग से काम करने के लिए, आपको चाहिए: Android Studio 4.1+, API Level 26+ वाला एक डिवाइस या एमुलेटर, और एप्लिकेशन की Debug बिल्ड। Room के लिए, अतिरिक्त रूप से room-runtime लाइब्रेरी संस्करण 2.2+ आवश्यक है। यदि डेटाबेस WAL मोड के साथ बनाया गया है, जो Room 2.2+ के लिए मानक है, तो उपकरण मुख्य एप्लिकेशन को ब्लॉक किए बिना डेटा पढ़ सकता है।

kotlin
// Database Inspector द्वारा समर्थित Room डेटाबेस का उदाहरण
@Database(
    entities = [User::class, Order::class],
    version = 2,
    autoMigrations = [AutoMigration(from = 1, to = 2)]
)
abstract class AppDatabase : RoomDatabase() {
    abstract fun userDao(): UserDao
    abstract fun orderDao(): OrderDao
}

Database Inspector की मुख्य विशेषताएं

Database Inspector स्थानीय डेटा के साथ काम करने के लिए कार्यों का पूरा सेट प्रदान करता है: तालिका योजना देखने से लेकर जटिल SQL क्वेरी निष्पादित करने और रिकॉर्ड संपादित करने तक।

तालिकाएं और योजना देखना

बाएं पैनल में सभी डेटाबेस और तालिकाएं प्रदर्शित होती हैं। जब कोई तालिका चुनी जाती है, तो उसकी सामग्री कॉलम वाली तालिका में दिखाई जाती है: सभी रिकॉर्ड फ़ील्ड कॉलम के रूप में दिखाए जाते हैं, प्रत्येक पंक्ति एक अलग रिकॉर्ड है। तालिका योजना (नाम, प्रकार, बाधाएं) शीर्ष पर प्रदर्शित होती है। विदेशी कुंजियों के लिए, तालिकाओं के बीच संबंध दिखाए जाते हैं।

डेटा प्रकारSQLite प्रकारRoom प्रकारउदाहरण
पूर्णांकINTEGERInt, Long42
स्ट्रिंगTEXTString"John"
दशमलव संख्याREALDouble, Float3.14
बाइनरी डेटाBLOBByteArray[0x00, 0x01]
दिनांक/समयINTEGER (Unix epoch)Long, Date1720000000

SQL क्वेरी निष्पादित करना

Query टैब आपको चयनित डेटाबेस के विरुद्ध सीधे मनमानी SQL कमांड निष्पादित करने की अनुमति देता है। SELECT, INSERT, UPDATE, DELETE, CREATE INDEX, JOIN और कोई भी अन्य SQLite ऑपरेटर समर्थित हैं। परिणाम क्वेरी संपादक के नीचे सारणीबद्ध प्रारूप में प्रदर्शित होते हैं। क्वेरी इतिहास सत्र के दौरान संरक्षित रहता है।

रिकॉर्ड संपादित करना

तालिका सेल को सीधे संपादित किया जा सकता है — बस एक मान पर क्लिक करें और नया मान दर्ज करें। परिवर्तन तुरंत चल रहे एप्लिकेशन पर लागू होते हैं। यह सीमा मामलों के परीक्षण के लिए विशेष रूप से उपयोगी है: आवश्यक फ़ील्ड में null सेट करना, ID को गैर-मौजूद से बदलना, लंबी स्ट्रिंग की हैंडलिंग की जाँच करना। सभी परिवर्तन रीयल टाइम में किए जाते हैं।

Database Inspector के साथ Room डिबगिंग

Database Inspector का Room के साथ गहरा एकीकरण है, जो इस लाइब्रेरी के साथ एप्लिकेशन विकसित करते समय इसे अपरिहार्य बनाता है। मानक कार्यक्षमता के अलावा, निरीक्षक Room-विशिष्ट क्षमताएं प्रदान करता है।

DAO क्वेरी देखना

Room डेटाबेस के लिए, Database Inspector प्रत्येक DAO विधि के लिए जनरेटेड SQL क्वेरी दिखाता है। यह सत्यापित करने की अनुमति देता है कि Room सही SQL जनरेट करता है, विशेष रूप से JOIN, @Relation और @Transaction के साथ जटिल क्वेरी के लिए। यदि Room एक अकुशल क्वेरी निष्पादित करता है (जैसे, एक JOIN के बजाय N+1 क्वेरी), तो यह Database Inspector क्वेरी लॉग में तुरंत दिखाई देता है।

माइग्रेशन डिबग करना

AutoMigration या मैन्युअल माइग्रेशन के साथ Room योजना को अद्यतन करते समय, Database Inspector माइग्रेशन के बाद वास्तविक तालिका संरचना दिखाता है। एप्लिकेशन लॉन्च करने के बाद बस निरीक्षक खोलें और जाँचें कि सभी कॉलम, इंडेक्स और विदेशी कुंजियाँ सही ढंग से बनाई गई हैं। यदि माइग्रेशन त्रुटि के साथ विफल हुआ, तो डेटाबेस नहीं खुलेगा — उपकरण अंतिम उपलब्ध संस्करण दिखाएगा।

Relations और Embedded की जाँच करना

Room @Relation और @Embedded के माध्यम से कई तालिकाओं से डेटा संयोजित करने की अनुमति देता है। Database Inspector संबंधित तालिका डेटा को एक साथ प्रदर्शित करके संबंधों की शुद्धता को दृश्य रूप से सत्यापित करने में मदद करता है। प्रत्येक विदेशी कुंजी के लिए, आप एक क्लिक से संबंधित तालिका पर जा सकते हैं।

kotlin
// Database Inspector के माध्यम से जाँच के लिए Relation के साथ Entity
@Entity(tableName = "users")
data class User(
    @PrimaryKey val id: Int,
    val name: String
)

data class UserWithOrders(
    @Embedded val user: User,
    @Relation(parentColumn = "id", entityColumn = "user_id")
    val orders: List<Order>
)

Database Inspector के व्यावहारिक उपयोग के परिदृश्य

Database Inspector विशिष्ट विकास कार्यों को हल करता है जो स्थानीय डेटा भंडारण के साथ काम करते समय उत्पन्न होते हैं। दैनिक कार्य में उपकरण के सबसे सामान्य उपयोग के मामलों को देखें।

डेटा कैशिंग की जाँच करना

अक्सर, एप्लिकेशन API प्रतिक्रियाओं को स्थानीय डेटाबेस में कैश करता है। Database Inspector आपको कैशिंग की शुद्धता सत्यापित करने की अनुमति देता है: सिंक्रोनाइज़ेशन के बाद, आप कैश तालिका में वास्तविक रिकॉर्ड देख सकते हैं। यदि डेटा प्रकट नहीं होता — समस्या सेव कोड में है। यदि डुप्लिकेट दिखाई देते हैं — समस्या upsert तर्क में है।

डेटा सम्मिलन त्रुटियों को डिबग करना

जब कोई DAO विधि डेटा सहेजती नहीं है लेकिन अपवाद नहीं फेंकती है, तो Database Inspector तालिका की वास्तविक स्थिति दिखाता है। सामान्य कारण: Primary Key विरोध (OnConflictStrategy सेटिंग), कॉलम में गलत डेटा प्रकार, NOT NULL बाधा उल्लंघन, या Foreign Key उल्लंघन। निरीक्षक आपको ऑपरेशन से पहले और बाद में डेटाबेस परिवर्तन सेट देखने की अनुमति देता है। DAO कॉल से पहले और बाद में डेटा स्नैपशॉट की तुलना करना लेन-देन संबंधी त्रुटियों को डिबग करने और जटिल लेखन संचालन के दौरान एप्लिकेशन व्यावसायिक तर्क की शुद्धता सत्यापित करने के सबसे प्रभावी तरीकों में से एक है।

डेटाबेस योजना पुनर्गठन

तालिका योजना बदलते समय — कॉलम जोड़ना, फ़ील्ड का नाम बदलना, तालिकाओं को विभाजित करना — Database Inspector माइग्रेशन परिणाम सत्यापित करने में मदद करता है। बस नए डेटाबेस संस्करण के साथ एप्लिकेशन लॉन्च करें और सत्यापित करें कि सभी डेटा नई संरचना में सही ढंग से स्थानांतरित हो गया है। यदि माइग्रेशन के बाद डेटा गायब है, तो आप इसे पुनर्गठन से पहले सहेजे गए डंप से पुनर्स्थापित कर सकते हैं। यह परिदृश्य SQLiteOpenHelper से Room पर माइग्रेट करते समय या एप्लिकेशन के नए संस्करण में मौजूदा तालिकाओं की संरचना बदलते समय विशेष रूप से प्रासंगिक है।

क्वेरी प्रदर्शन निगरानी

Database Inspector का उपयोग SQL क्वेरी प्रदर्शन का मूल्यांकन करने के लिए भी किया जा सकता है। Query टैब के माध्यम से SELECT निष्पादित करके और प्रतिक्रिया समय मापकर, आप उन क्वेरी की पहचान कर सकते हैं जिनमें इंडेक्स की कमी है। Room स्वचालित रूप से Logcat में SLOW SQL टैग के साथ धीमी क्वेरी लॉग करता है, और Database Inspector आपको निष्पादन योजना विश्लेषण के लिए तुरंत EXPLAIN QUERY PLAN निष्पादित करने की अनुमति देता है।

अक्सर पूछे जाने वाले प्रश्न

Database Inspector मेरा डेटाबेस क्यों नहीं देखता?

सुनिश्चित करें कि एप्लिकेशन Debug मोड में चल रहा है और डिवाइस का API Level 26 या उच्चतर है। यदि डेटाबेस किसी अलग प्रक्रिया में या SQLCipher (एन्क्रिप्शन) का उपयोग करके बनाया गया है, तो Database Inspector इसका पता नहीं लगा सकता। SQLCipher के लिए, बिना एन्क्रिप्शन के एक सहायक डिबग डेटाबेस का उपयोग करें।

क्या Database Inspector के माध्यम से डेटा संपादित किया जा सकता है?

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

क्या Database Inspector Realm डेटाबेस का समर्थन करता है?

नहीं, Database Inspector Realm का समर्थन नहीं करता क्योंकि Realm SQLite का उपयोग नहीं करता। Realm को डिबग करने के लिए, Realm Object Server, Realm Studio या इन-ऐप लॉगिंग का उपयोग करें। MongoDB Realm SDK के लिए, Realm Studio उपकरण macOS, Windows और Linux के लिए उपलब्ध है।

Database Inspector से डेटाबेस कैसे निर्यात करें?

Database Inspector आपको पूरे डेटाबेस को निर्यात करने की अनुमति देता है। सूची में डेटाबेस नाम पर राइट-क्लिक करें और Export Database चुनें। .db फ़ाइल आपके कंप्यूटर पर सहेजी जाएगी। इसे देखने के लिए, किसी भी SQLite ब्राउज़र का उपयोग करें, जैसे DB Browser for SQLite।

क्या Database Inspector एप्लिकेशन प्रदर्शन को प्रभावित करता है?

Google के अनुसार, ओवरहेड न्यूनतम है — Database Inspector लेखन को अवरुद्ध किए बिना WAL डेटाबेस फ़ाइलों को पढ़ता है। कस्टम SQL क्वेरी निष्पादित करना अस्थायी रूप से डेटाबेस को लोड कर सकता है, लेकिन यह डेवलपर द्वारा नियंत्रित होता है। प्रोडक्शन बिल्ड के लिए उपकरण स्वचालित रूप से अक्षम हो जाता है।

सारांश

  • Database Inspector रीयल टाइम में एप्लिकेशन की SQLite डेटाबेस देखने और संपादित करने के लिए Android Studio में निर्मित एक उपकरण है
  • Room समर्थन में DAO क्वेरी देखना, माइग्रेशन डिबग करना और @Relation और @Embedded की जाँच करना शामिल है
  • SQL क्वेरी निष्पादन Query टैब के माध्यम से सभी SQLite ऑपरेटरों के समर्थन और इतिहास संरक्षण के साथ
  • रीयल-टाइम संपादन आपको सेल मान बदलने और चल रहे एप्लिकेशन में तुरंत परिणाम देखने की अनुमति देता है
  • डेटाबेस निर्यात तृतीय-पक्ष उपकरणों में विश्लेषण या सहकर्मियों के साथ साझा करने के लिए .db फ़ाइल में
  • इसके लिए Android Studio 4.1+, Debug बिल्ड और API Level 26+ आवश्यक है — यदि उपकरण डेटाबेस प्रदर्शित नहीं करता है तो इन आवश्यकताओं की जाँच करें
  • स्थानीय डेटा भंडारण से संबंधित सुविधाओं को विकसित करते समय नियमित आधार पर Database Inspector का उपयोग करें — यह डिबगिंग को काफी तेज करता है

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें