ما هو ملف سكليتي؟
الملف ذو الامتداد .sqlite هو ملف قاعدة بيانات SQL خفيف الوزن تم إنشاؤه باستخدام برنامج SQLite. إنها قاعدة بيانات في ملف نفسه وتنفذ محرك قاعدة بيانات SQL قائم بذاته وكامل الميزات وموثوق به للغاية. يمكن استخدام ملفات قاعدة بيانات SQLite لمشاركة المحتويات الغنية بين الأنظمة عن طريق التبادل البسيط لهذه الملفات عبر الشبكة. تستخدم جميع الهواتف المحمولة وأجهزة الكمبيوتر تقريبًا SQLite لتخزين البيانات ومشاركتها ، وهو اختيار تنسيق الملف للتطبيقات عبر الأنظمة الأساسية. نظرًا لاستخدامها المضغوط وسهولة استخدامها ، فهي تأتي مجمعة داخل تطبيقات أخرى. توجد روابط SQLite للغات البرمجة مثل C ، C# ، C++ ، Java ، PHP، واشياء أخرى عديدة.
تنسيق ملف سكليتي
SQLite في الواقع هي مكتبة لغة C تنفذ SQLite RDBMS باستخدام تنسيق ملف SQLite. مع تطور الأجهزة الجديدة كل يوم ، تم الحفاظ على تنسيق ملفاتها متوافقًا مع الإصدارات السابقة لاستيعاب الأجهزة القديمة. يُنظر إلى تنسيق ملف SQLite على أنه تنسيق أرشفة طويل المدى للبيانات.
ملف قاعدة البيانات
يتم الاحتفاظ بقاعدة بيانات SQLite بالكامل عبر ملفين.
- ملف قاعدة البيانات الرئيسي - يحتوي على الحالة الكاملة لقاعدة بيانات SQLite
- Rollback Journal - يخزن معلومات إضافية في ملف ثان ويستخدم أثناء إجراء المعاملات. في حالة وجود SQLite في وضع WAL ، يتم الاحتفاظ بملف سجل كتابة الرأس.
ملف المجلة
يهدف هذا الملف إلى الاحتفاظ بجميع المعلومات المحفوظة في حالة تعذر إكمال المعاملة الأخيرة في حالات مثل تعطل الكمبيوتر. يستخدم هذا الملف لاستعادة ملف قاعدة البيانات إلى حالة متسقة.
الصفحات
يتكون ملف قاعدة بيانات SQLite الرئيسي من صفحة واحدة أو أكثر. في أي وقت ، كل صفحة في قاعدة البيانات الرئيسية لها استخدام واحد وهو واحد مما يلي:
- صفحة قفل البايت
- صفحة قائمة بالقطعة
- صفحة جذع قائمة بالقطعة
- صفحة أوراق مستقلة
- صفحة ب شجرة
- صفحة داخلية في الجدول ب
- صفحة ورقة شجرة ب الجدول
- فهرس ب صفحة داخلية
- فهرس ب صفحة أوراق الشجر
- صفحة تجاوز الحمولة
- صفحة خريطة المؤشر
يمكن أن يتراوح حجم ملفات قاعدة بيانات SQLite من بضعة كيلوبايت إلى بضعة غيغابايت.
رأس سكليتي
يقع رأس قاعدة بيانات SQLite في أول 100 بايت من ملف قاعدة البيانات. يبدأ كل ملف قاعدة بيانات SQLite صالح بـ 16 بايت (في شكل سداسي عشري): 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00. تفاصيل حقول الرأس كما في الجدول التالي.
الإزاحة | الحجم | الوصف |
---|---|---|
0 | 16 | سلسلة الرأس: “تنسيق SQLite 3 \ 000” |
16 | 2 | حجم صفحة قاعدة البيانات بالبايت. يجب أن تكون قوة اثنين بين 512 و 32768 ضمناً ، أو أن تمثل القيمة 1 حجم صفحة 65536. عودة إلى الأعلى |
18 | 1 | إصدار كتابة تنسيق الملف. 1 للإرث ؛ 2 لـ WAL. |
19 | 1 | إصدار قراءة تنسيق الملف. 1 للإرث ؛ 2 لـ WAL. |
20 | 1 | بايت من المساحة “المحجوزة” غير المستخدمة في نهاية كل صفحة. عادة 0. |
21 | 1 | الحد الأقصى لكسر الحمولة الصافية المضمنة. يجب أن يكون 64. |
22 | 1 | الحد الأدنى لكسر الحمولة الصافية المضمّن. يجب أن يكون 32. |
23 | 1 | جزء الحمولة الصافية للأوراق. يجب أن يكون 32. |
24 | 4 | عداد تغيير الملف. |
28 | 4 | حجم ملف قاعدة البيانات بالصفحات. “حجم قاعدة البيانات في الرأس”. |
32 | 4 | رقم صفحة أول صفحة جذع قائمة حرة. |
36 | 4 | العدد الإجمالي لصفحات القائمة الحرة. |
40 | 4 | ملف تعريف ارتباط المخطط. |
44 | 4 | رقم تنسيق المخطط. تنسيقات المخططات المعتمدة هي 1 و 2 و 3 و 4. |
48 | 4 | الحجم الافتراضي لذاكرة التخزين المؤقت للصفحة. |
52 | 4 | رقم الصفحة لأكبر صفحة جذر b- شجرة عندما تكون في وضع الفراغ التلقائي أو الفراغ المتزايد ، أو صفر خلاف ذلك. |
56 | 4 | ترميز نص قاعدة البيانات. تعني القيمة 1 UTF-8. تعني القيمة 2 UTF-16le. تعني القيمة 3 UTF-16be. |
60 | 4 | “إصدار المستخدم” كما تمت قراءته وتعيينه بواسطة user_version pragma. |
64 | 4 | صحيح (غير صفري) لوضع الفراغ التزايدي. خطأ (صفر) وإلا. |
68 | 4 | “معرف التطبيق” المعين بواسطة PRAGMA application_id. |
72 | 20 | محجوز للتوسيع. يجب أن تكون صفراً. |
92 | 4 | رقم الإصدار الصالح. |
96 | 4 | SQLITE_VERSION_NUMBER |