SQLite



sqlite

وثائق سكليتي

  • قوائم الوثيقة والفهارس
  • وثائق عامة
    • حول SQLite → نظرة عامة على مستوى عال ما هو SQLite ولماذا قد تكون مهتمة في استخدامه.
    • الاستخدامات المناسبة لـ SQLite → يصف هذا المستند المواقف حيث يكون SQLite مشغل قاعدة بيانات مناسبة لاستخدام مقابل الحالات حيث قد يكون مشغل قاعدة بيانات العميل / الملقم اختيار أفضل.
    • ميزات مميزة → يقوم هذا المستند بتعداد ووصف بعض ميزات SQLite التي تجعلها مختلفة عن محركات قاعدة بيانات SQL الأخرى.
    • كيف يتم اختبار SQLite → يتم التحقق من موثوقية ومتانة SQLite في جزء كبير من خلال اختبار دقيق ودقيق. يحدد هذا المستند العديد من الاختبارات التي تحدث قبل كل إصدار من SQLite.
    • Copyright → سكليتي في المجال العام. تصف هذه الوثيقة ما يعنيه ذلك وما يترتب على ذلك من آثار على المساهمين.
    • أسئلة وأجوبة → عنوان الوثيقة يقول كل شيء ...
    • كتب حول SQLite → قائمة الكتب المكتوبة بشكل مستقل حول SQLite.
  • واجهات برمجة
  • ملحقات
    • Json1 - JSON Integration → وظائف SQL لإنشاء وتحليل واستعلام عن محتوى JSON.
    • FTS5 - بحث نص كامل → وصف لملحق SQLite للبحث عن النص الكامل (FTS5).
    • FTS3 - بحث نص كامل → وصف لملحق SQLite للبحث عن النص الكامل (FTS3).
    • R-Tree Module → وصف لامتداد SQLite R-Tree. إن R-Tree هي بنية بيانات متخصصة تدعم استعلامات المدى السريع متعددة الأبعاد التي غالبًا ما تستخدم في الأنظمة الجغرافية المكانية.
    • Sessions ← يسمح تمديد الجلسات بالتغيير إلى قاعدة بيانات SQLite ليتم التقاطها في ملف مضغوط يمكن إعادته على قاعدة البيانات الأصلية (لتنفيذ "التراجع") أو نقله وتطبيقه على قاعدة بيانات أخرى مشابهة.
    • الإضافات القابلة للتشغيل في وقت التشغيل → نظرة عامة على كيفية عمل الإضافات القابلة للتشغيل في وقت التشغيل ، وكيفية تجميعها ، وكيف يمكن للمطورين إنشاء امتداداتهم القابلة للتشغيل الخاصة وقت التشغيل لـ SQLite.
    • SQLite Android Bindings ← معلومات حول كيفية نشر نسختك الخاصة من SQLite على Android ، تجاوز SQLite المضمنة ، ولكن باستخدام نفس واجهة Java.
    • Dbstat Virtual Table → تقارير الجدول الظاهري DBSTAT على أحجام وهندسة الجداول التي تخزن المحتوى في قاعدة بيانات SQLite ، وهي أساس برنامج الأداة المساعدة [sqlite3_analyzer].
    • Csv Virtual Table → يسمح الجدول الظاهري CSV لـ SQLite بقراءة الملفات المنسقة [https://www.ietf.org/rfc/rfc4180.txt|RFC 4180] واستعلامها مباشرة.
    • Carray → CARRAY هي [دالة ذات قيمة جدول] تسمح باستخدام صفائف لغة C في استعلامات SQL.
    • generate_series → وصف لـ generate_series () [دالة قيم الجدول].
    • Spellfix1 → ملحق spellfix1 عبارة عن تجربة في إجراء تصحيح إملائي لـ [بحث النص الكامل].
  • الميزات
    • 8 + 3 أسماء الملفات ← كيفية عمل SQLite على أنظمة الملفات التي تدعم أسماء الملفات 8 + 3 فقط.
    • Autoincrement → وصف للكلمة AUTOINCREMENT في SQLite ، ماذا يفعل ، لماذا يكون مفيدًا في بعض الأحيان ، ولماذا يجب تجنبه إذا لم يكن ضروريًا تمامًا.
    • API النسخ الاحتياطي → و [sqlite3_backup_init | واجهة النسخ الاحتياطي عبر الإنترنت] يمكن استخدامها لنسخ المحتوى من ملف قرص إلى قاعدة بيانات في الذاكرة أو العكس ، ويمكنها عمل نسخة احتياطية ساخنة من قاعدة بيانات مباشرة. هذه الملاحظة التطبيق يعطي أمثلة على كيفية ذلك.
    • خطأ و سجل التحذير يدعم SQLite تصميم "خطأ و سجل تحذير" لالتقاط معلومات حول الأحداث المشبوهة و / أو الخطأ أثناء العملية. يتم تشجيع التطبيقات المضمنة لتمكين سجل الأخطاء والإخطار للمساعدة في تصحيح مشكلات التطبيق التي تنشأ في الحقل. تشرح هذه الوثيقة كيفية القيام بذلك.
    • دعم المفتاح الخارجي → يصف هذا المستند دعم القيود الأساسية الخارجية المقدمة في الإصدار 3.6.19.
    • Indexes On Expressions ← ملاحظات حول كيفية إنشاء فهارس على التعبيرات بدلاً من الأعمدة الفردية فقط.
    • تخزين BLB الداخلي مقابل خارجي → هل يجب تخزين BLOBs كبيرة مباشرة في قاعدة البيانات ، أو تخزينها في ملفات وتسجيل اسم الملف في قاعدة البيانات؟ تسعى هذه الوثيقة لإلقاء الضوء على هذا السؤال.
    • حدود في SQLite → يصف هذا المستند قيود SQLite (الحد الأقصى لطول سلسلة أو blob ، الحد الأقصى لحجم قاعدة بيانات ، الحد الأقصى لعدد الجداول في قاعدة بيانات ، إلخ) وكيف يمكن تغيير هذه الحدود في وقت التحويل البرمجي ووقت التشغيل.
    • I / O الذاكرة المعنونة → يدعم SQLite I / O الذاكرة المعينة. تعرف على كيفية تمكين الإدخال / الإخراج المعيّن للذاكرة وحول المزايا والعيوب المتنوعة لاستخدام الإدخال / الإخراج المعيّن للذاكرة في هذا المستند.
    • برامج Multi-threaded و SQLite → سكليتي آمنة للاستخدام في البرامج متعددة مؤشرات الترابط. يوفر هذا المستند التفاصيل وتلميحات حول كيفية زيادة الأداء.
    • معالجة خالية Nulls معالجة مشغلات قاعدة بيانات SQL مختلفة بطرق مختلفة. معايير SQL غامضة. يصف هذا المستند (حوالي عام 2003) كيفية معالجة SQLite NULLs بالمقارنة مع مشغلات قاعدة بيانات SQL الأخرى.
    • فهارس جزئية → فهرس جزئي هو فهرس لا يغطي سوى مجموعة فرعية من الصفوف في الجدول. تعرف على كيفية استخدام الفهارس الجزئية في SQLite من هذا المستند.
    • وضع التخزين المؤقت المشترك → الإصدار 3.3.0 والإصدارات الأحدث يدعم إمكانية اتصالين قاعدة بيانات أو أكثر لمشاركة نفس الصفحة وذاكرة التخزين المؤقت للمخطط. هذه الميزة مفيدة لبعض التطبيقات المتخصصة.
    • إلغاء التنبيه ← يمكن استخدام ميزة "إلغاء التنبيه" بالاقتران مع [وضع التخزين المؤقت المشترك] لإدارة تعارض الموارد بشكل أكثر كفاءة (تأمين جدول قاعدة البيانات).
    • أسماء ملفات URI → يمكن تحديد أسماء ملفات قاعدة البيانات باستخدام إما اسم ملف عادي أو معرف موارد منتظم. إن استخدام أسماء ملفات URI يوفر إمكانات إضافية ، كما يصف هذا المستند.
    • دون جداول ROWID → دون التحسين ROWID هو الخيار الذي يمكن أن يؤدي في بعض الأحيان إلى قواعد بيانات أصغر وأسرع.
    • كتابة السجل (WAL) Mode وضع التحكم في المعاملة باستخدام سجل الكتابة المسبقة يوفر التزامن أكثر ويكون أسرع من المعاملات الاستعادة الافتراضية. يوضح هذا المستند كيفية استخدام وضع WAL لتحسين الأداء.
  • أدوات
    • Shell-Line Shell (sqlite3.exe) → ملاحظات حول استخدام واجهة سطر الأوامر "sqlite3.exe" التي يمكن استخدامها لإنشاء وتعديل واستعلام ملفات قاعدة بيانات SQLite عشوائية.
    • محلل قاعدة بيانات SQLite (sqlite3_analyzer.exe) → يقرأ هذا البرنامج المستقل قاعدة بيانات SQLite ويخرج ملفًا يوضح المساحة المستخدمة بواسطة كل جدول وفهرس وإحصاءات أخرى. بنيت باستخدام [الجدول الظاهري dbstat].
    • RBU → يسمح برنامج الأداة المساعدة "تحديث مجمّع قابل للاستئناف" بمجموعة من التغييرات ليتم تطبيقها على قاعدة بيانات بعيدة تعمل على الأجهزة المدمجة بطريقة قابلة للاستئناف ولا تقاطع العملية الجارية.
    • قاعدة بيانات SQLite Diff (sqldiff.exe) → يقارن هذا البرنامج المستقل بين ملفات قاعدة بيانات SQLite اثنين وإخراج SQL اللازمة لتحويل واحد إلى الآخر.
    • Database Hash (dbhash.exe) → يوضح هذا البرنامج كيفية حساب التجزئة عبر محتوى قاعدة بيانات SQLite.
    • Fossil → نظام التحكم في إصدار Fossil هو نظام VCS موزع مصمم خصيصًا لدعم تطوير SQLite. الحفريات يستخدم سكليتي كما للتخزين.
    • SQLite Archiver (sqlar.exe) → برنامج أرشيف تشبه ZIP يستخدم سكليتي للتخزين.
  • مرافعة
    • SQLite باسم تنسيق ملف تطبيق → هذه المادة يدعون استخدام سكليتي كتنسيق ملف تطبيق بدلا من XML أو JSON أو "كومة من ملف".
    • المستخدمون المعروفون جيدًا → تسرد هذه الصفحة مجموعة فرعية صغيرة من آلاف الأجهزة وبرامج التطبيقات التي تستخدم SQLite.
    • 35٪ أسرع من نظام الملفات → تشير هذه المقالة إلى أن قراءة النقط خارج قاعدة بيانات SQLite غالبا ما تكون أسرع من قراءة نفس النقط من الملفات الفردية في نظام الملفات.
  • الوثائق الفنية والتصميم
    • كيف يمكن أن يحدث الفساد في قاعدة البيانات؟ SQLite هو مقاوم للغاية لفساد قاعدة البيانات. ولكن لا يزال من الممكن أن يؤدي وجود أخطاء في التطبيقات أو نظام التشغيل أو الأجهزة إلى وجود ملفات قاعدة بيانات فاسدة. توضح هذه المقالة العديد من الطرق التي يمكن أن تتلف ملفات قاعدة بيانات SQLite.
    • الملفات المؤقتة المستخدمة بواسطة SQLite يمكن أن تستخدم SQLite العديد من الملفات المؤقتة المختلفة عند معالجة عبارات SQL معينة. يصف هذا المستند الأنواع العديدة من الملفات المؤقتة التي يستخدمها SQLite ويقدم اقتراحات لتجنبها على الأنظمة التي يكون فيها إنشاء ملف مؤقت عملية مكلفة.
    • قواعد البيانات داخل الذاكرة يقوم SQLite عادة بتخزين المحتوى في ملف قرص. ومع ذلك ، يمكن أيضاً استخدامه كمحرك قاعدة بيانات في الذاكرة. يشرح هذا المستند كيف.
    • كيفية تنفيذ SQLite Commit Atomic Commit ← وصف للمنطق داخل SQLite الذي ينفذ المعاملات بالالتزام الذري ، حتى في مواجهة انقطاع التيار الكهربائي.
    • تخصيص ديناميكي للذاكرة في SQLite → يحتوي SQLite على نظام فرعي مخصص لتخصيص الذاكرة يمكن تهيئته وتخصيصه لتلبية متطلبات استخدام الذاكرة الخاصة بالتطبيق والتي تكون قوية ضد ظروف خارج الذاكرة وخالية من التسرب. يقدم هذا المستند التفاصيل.
    • تخصيص و Porting SQLite → يوضح هذا المستند كيفية تخصيص بناء SQLite وكيفية المنفذ SQLite إلى الأنظمة الأساسية الجديدة.
    • قفل والتزامن
      في الإصدار SQLite 3 → وصف كيفية زيادة رمز التأمين الجديد في الإصدار 3 التزامن ويقلل من مشكلة starvation الكاتب.
    • العزلة في SQLite → عندما نقول أن معاملات SQLite هي "قابلة للتسلسل" ما الذي يعنيه ذلك بالضبط؟ كيف ومتى يتم إجراء تغييرات مرئية داخل نفس اتصال قاعدة البيانات واتصالات قاعدة البيانات الأخرى؟
    • نظرة عامة على Optimizer → نظرة عامة سريعة على تحسينات الاستعلام المختلفة التي حاولها مُولِّد شفرة SQLite.
    • مخطط الاستعلام عن الجيل التالي → معلومات إضافية حول مخطط استعلام SQLite ، وعلى وجه الخصوص إعادة تصميم مخطط الاستعلام الذي حدث للإصدار 3.8.0.
    • Architecture ← نظرة عامة معمارية من مكتبة SQLite ، مفيدة لأولئك الذين يريدون اختراق التعليمات البرمجية.
    • VDBE Opcodes → هذا المستند عبارة عن وصف تم إنشاؤه تلقائيًا لمختلف رموز التشغيل التي يفهمها VDBE. يمكن للمبرمجين استخدام هذا المستند كمرجع لفهم إخراج قوائم EXPLAIN بشكل أفضل من SQLite.
    • Virtual Filesystem ← الكائن "VFS" هو الواجهة بين core SQLite ونظام التشغيل الأساسي. تعرف على المزيد حول كيفية عمل كائن VFS وكيفية إنشاء كائنات VFS جديدة من هذه المقالة.
    • الجداول الافتراضية → توضح هذه المقالة آلية الجدول الظاهري و API في SQLite وكيف يمكن استخدامها لإضافة قدرات جديدة إلى مكتبة سكليتي الأساسية.
    • تنسيق ملف SQLite → وصف للتنسيق المستخدم لقاعدة بيانات SQLite والمجلة ، وتفاصيل أخرى مطلوبة لإنشاء برنامج لقراءة وكتابة قواعد بيانات SQLite بدون استخدام SQLite.
    • خيارات التجميع → يوضح هذا المستند خيارات وقت التحويل التي يمكن ضبطها لتعديل السلوك الافتراضي للمكتبة أو حذف الميزات الاختيارية لتقليل الحجم الثنائي.
    • Android Bindings for SQLite → وصف لكيفية تجميع SQLite الخاص بك للأندرويد (تجاوز SQLite المدمج في Android) مع الأكواد و makefiles.
    • تصحيح تلميحات → قائمة بالحيل والتقنيات المستخدمة لتتبع وفحص وفهم تشغيل مكتبة SQLite الأساسية.
  • ترقية SQLite ، التوافق إلى الوراء
  • وثائق عفا عليها الزمن
    • وضع IO غير المتزامن → تصف هذه الصفحة ملحق IO غير المتزامن الذي تم تطويره بجانب SQLite. باستخدام IO غير متزامن يمكن أن يسبب SQLite تظهر استجابة أكثر بواسطة تفويض قاعدة بيانات الكتابة إلى مؤشر ترابط الخلفية. ملحوظة: هذا الإرشاد موقوف. [وضع WAL] مستحسن كبديل.
    • الإصدار 2 C / C ++ API → وصف لارتباطات واجهة C / C ++ لـ SQLite من خلال الإصدار 2.8
    • الإصدار 2 DataTypes → وصف كيفية قيام SQLite الإصدار 2 بمعالجة أنواع بيانات SQL. ملخص قصير: كل شيء عبارة عن سلسلة.
    • VDBE Tutorial → VDBE هو النظام الفرعي داخل SQLite يقوم بالعمل الفعلي لتنفيذ عبارات SQL. تصف هذه الصفحة مبادئ التشغيل الخاصة بـ VDBE في SQLite الإصدار 2.7. هذا ضروري للقراءة لأي شخص يريد تعديل مصادر SQLite.
    • إصدار SQLite 3 → ملخص بالتغييرات بين SQLite الإصدار 2.8 و SQLite الإصدار 3.0.
    • الإصدار 3 C / C ++ API → ملخص للتغيرات المتعلقة API بين SQLite الإصدار 2.8 و SQLite الإصدار 3.0.
    • مقارنة السرعة → تتم مقارنة سرعة الإصدار 2.7.6 من SQLite ضد PostgreSQL و MySQL.