برنامج SQLiteStudio مجاني لتحرير قواعد بيانات SQLite. امتداد الملف SQLITE

إذا صادفت ملفات ذات الامتداد .sqlite أو .sqlite3، ولا تعرف كيفية فتحها للتعمق في مكوناتها الداخلية، فسيكون البرنامج المجاني خيارًا ممتازًا. بالنسبة لأولئك الذين يتساءلون ما هي هذه الملفات، فهي قاعدة بيانات بتنسيق SQLite، حيث يتم تخزين جميع بيانات الجدول في ملف واحد. في الوقت الحاضر، تستخدم العديد من البرامج قواعد بيانات SQLite لتخزين بياناتها بشكل منظم، على سبيل المثال، أرقام المراسلات والاتصال في فايبر.

لا يحتاج SQLite إلى التثبيت، فهو الوحيد ملف تنفيذيالذي تقوم بتنزيله هو البرنامج بأكمله الذي نطلقه حسب الحاجة. فقط أثناء الإطلاق الأول، سيسألك التطبيق بشكل متواضع عن اللغة التي تفضل استخدامها؛ أثناء كل عملية إطلاق، ينبثق جدول يحتوي على تلميحات، ويمكن تعطيله عن طريق تحديد المربع المناسب.

قبل الخوض في الفروق الدقيقة في كيفية عمل SQLite، أود أن أدلي بملاحظة صغيرة. ليس لدى المطورين قواعد غير معلنة فيما يتعلق بالامتدادات التي يجب أن تحتوي عليها قاعدة البيانات بيانات SQL ite. اعتمادًا على خيال المطورين، يمكن أن يكون امتداد الملف إما .sqlite أو .sqlite3 أو sl2 أو sl3 أو أكثر عالمية db أو db2 أو db3 أو sbd3. للتأكد من أن لديك بالفعل قاعدة بيانات بتنسيق SQLite، فأنت بحاجة إلى ذلك، وإذا كان السطر الأول يحتوي على عبارة "تنسيق SQLite"، فلا تتردد في اختيار SQLiteStudio.

لفتح قاعدة البيانات، انقر في القائمة الرئيسية "قواعد البيانات" -> "إضافة قاعدة بيانات"، وبعد ذلك تنبثق نافذة نختار فيها الملف الذي يحتوي على قاعدة البيانات التي نهتم بها، إذا لزم الأمر، قم بإجراء إعدادات صغيرة (ما هو إصدار قاعدة البيانات وما إذا كنت تريد تذكرها)، ثم انقر فوق "موافق". لا داعي للقلق كثيرًا بشأن الإعدادات وترك كل شيء على الوضع الافتراضي؛ ففي 99% من الحالات، يعمل كل شيء بشكل جيد.

بعد ربط قاعدة البيانات، يتم إضافتها إلى الجدول الأيسر، والذي عند النقر عليه يكشف قائمة الجداول الموجودة هناك. على الجانب الأيمن، يمكنك رؤية بنية الجدول في علامة التبويب التي تحمل الاسم نفسه والبيانات المخزنة هناك، والتي تحتاج إلى النقر فوق علامة التبويب "البيانات".

ليس هناك فائدة من الحديث عن الميزات الأخرى لـ SQLiteStudio، أكثر من غيرها المستخدمين العاديينلن تكون هناك حاجة إليها، ويفهم الجميع سبب إزعاجهم لتحرير قواعد البيانات وكيف ينبغي القيام بذلك. أريد فقط أن أقدم توصية واحدة، افعلها نسخة إحتياطيةقاعدة البيانات، قبل أن تبدأ في الدخول إليها، ناهيك عن تحريرها.

من المثير للدهشة أن هناك الكثير من الإعدادات هنا، ومع ذلك، فهي جميعها مرتبطة في الغالب مظهرالبرامج (الألوان والخطوط وما يجب إظهاره وما يجب إخفاؤه) واختصارات لوحة المفاتيح.

يتعامل برنامج 5+ مع مهامه، مما يتيح لك الوصول إلى البيانات المخزنة في قواعد بيانات تنسيق SQLite، وتحرير البيانات والجداول. الشيء الأكثر أهمية هو أن كل شيء يعمل بثبات وسرعة ولا يتجمد في بعض الملفات لأسباب غير معروفة، مثل التطبيقات من المطورين الآخرين.

البرنامج يعمل بشكل رائع على 32 و 64 بت أنظمة التشغيل. تمت ترجمة الواجهة إلى ما يقرب من عشر لغات، بما في ذلك الروسية.

نأمل أن نكون قد ساعدناك في حل مشكلة SQLITE3. إذا كنت لا تعرف أين يمكنك تنزيل تطبيق من قائمتنا، فانقر على الرابط (هذا هو اسم البرنامج) - ستجد المزيد معلومات مفصلةفيما يتعلق بمكان تنزيل إصدار التثبيت الآمن للتطبيق المطلوب.

من المفترض أن تساعدك زيارة هذه الصفحة في الإجابة على هذه الأسئلة أو أسئلة مشابهة على وجه التحديد:

  • كيفية فتح ملف بامتداد SQLITE3؟
  • كيفية تحويل ملف SQLITE3 إلى تنسيق آخر؟
  • ما هو امتداد تنسيق الملف SQLITE3؟
  • ما هي البرامج التي تخدم ملف SQLITE3؟

إذا لم تتلق بعد مشاهدة المواد الموجودة في هذه الصفحة إجابة مرضية على أي من الأسئلة المطروحة أعلاه، فهذا يعني أن المعلومات المقدمة هنا حول ملف SQLITE3 غير كاملة. اتصل بنا باستخدام نموذج الاتصال واكتب المعلومات التي لم تجدها.

ماذا يمكن أن يسبب مشاكل؟

قد يكون هناك المزيد من الأسباب لعدم تمكنك من فتح ملف SQLITE3 (ليس فقط عدم وجود التطبيق المناسب).
أولاً- قد لا يكون ملف SQLITE3 مرتبطًا بشكل صحيح (غير متوافق). التطبيق المثبتلصيانتها. في هذه الحالة، تحتاج إلى تغيير هذا الاتصال بنفسك. لهذا الغرض، انقر فوق الزر الايمنمرر الماوس فوق ملف SQLITE3 الذي تريد تحريره، وانقر فوق الخيار "للفتح مع"ثم حدد البرنامج الذي قمت بتثبيته من القائمة. بعد هذا الإجراء، يجب أن تختفي مشاكل فتح ملف SQLITE3 تمامًا.
ثانيًا- الملف الذي تريد فتحه قد يكون تالفًا. في هذه الحالة، سيكون من الأفضل العثور على نسخة جديدة منه، أو تنزيله مرة أخرى من نفس المصدر (ربما لسبب ما في الدورة السابقةلم يكتمل تنزيل ملف SQLITE3 ولا يمكن فتحه بشكل صحيح).

هل تريد المساعدة؟

اذا كنت تمتلك معلومات إضافيةبخصوص امتداد ملف SQLITE3، سنكون ممتنين إذا قمت بمشاركته مع مستخدمي موقعنا. استخدم النموذج أدناه وأرسل لنا معلوماتك حول ملف SQLITE3.

في أحد الأيام كنت بحاجة للعثور على مدير قاعدة بيانات صغير ولكن عملي بيانات سكليتيتحت ويندوز. كان هناك الكثير من العروض على الإنترنت، بدءًا من برامج متصفح قواعد البيانات المجانية البسيطة إلى الأدوات المساعدة المتطورة التي تحتوي على الكثير من الأجراس والصفارات الضرورية وغير المفيدة. والنتيجة هي هذه المراجعة. لقد قمت باختياري النهائي بناءً على المتطلبات التالية للبرنامج:

  1. وظائف. القدرة على إنشاء الجداول والمشغلات والفهارس وما إلى ذلك.
  2. يعمل بشكل صحيح مع ترميز UTF-8
  3. سعر. من المرغوب فيه، بالطبع، أن يكون السعر صفرًا، ولكن في حدود المعقول يمكنك التخلص قليلاً.
  4. توافر الواجهة الروسية. ليس من المهم، ولكن لا يزال أكثر ملاءمة للعمل مع البرنامج بلغتك الأم.
  5. راحة. لا أرغب في قضاء وقت طويل في البحث في الواجهة الوظائف الضرورية.

لأنه من المستحيل احتضان الضخامة (أنا أتحدث عن عدد العروض في السوق منتجات البرمجيات)، ثم قمت باختيار عدة برامج ذات إمكانيات مختلفة وأدرجتها في هذه المراجعة.

متصفح قاعدة بيانات SQLite

سعر: مجانا

من السهل استخدام متصفح قاعدة بيانات SQLite. نظرًا لأن الغرض الرئيسي من البرنامج هو عرض البيانات، فإن الوظيفة محدودة وفقًا لذلك.

باستخدام "متصفح قاعدة بيانات SQLite" يمكنك:

  1. عرض هيكل قاعدة البيانات
  2. إنشاء جداول جديدة باستخدام المعالج
  3. إنشاء فهارس
  4. عرض البيانات في الجداول وتنفيذ استعلامات SQL الأساسية (يتوقف البرنامج تمامًا عند تنفيذ استعلامات مثل "CREATE TRIGGER...").

يتفهم متصفح قاعدة بيانات SQLite UTF-8 ويسمح لك بتغيير الترميز إذا لزم الأمر. لا توجد واجهة روسية.

مدير SQLite3 لايت

موقع الشركة المصنعة: http://www.pool-magic.net/sqlite-manager.htm

سعر: نسخة مبسطةتوزع مجانا .

بالمقارنة مع البرنامج السابق، يبدو "SQLite3 manager LITE" أكثر وظيفية. بالإضافة إلى مجرد عرض البيانات في الجداول، يمكنك أيضًا عرض وإنشاء المشغلات والفهارس وطرق العرض وما إلى ذلك. بالإضافة إلى ذلك، يمكنك تصدير كافة البيانات التعريفية لقاعدة البيانات. في هذه الحالة، يمكنك إنشاء ملفات بيانات لتصدير الجداول إلى Paradox وInterbase.

حاول البرنامج أيضًا إنشاء شيء يشبه معالج الاستعلام المرئي المشابه لـ MS Access، ولكن في رأيي، لم تنجح المحاولة.

ش نسخة مجانيةهناك عيب واحد - فهو لا يفهم البيانات المشفرة بتنسيق UTF-8. من الممكن، بالطبع، تحديد ترميز قاعدة البيانات عند فتح ملف، ولكن UTF-8 غير مدرج في قائمة الترميزات. لم أر قط كيف تعمل النسخة الكاملة من البرنامج، لأن... على موقع الشركة المصنعة الشيطان يكسر ساقه. هناك نوع من تعليق جافا سكريبت غير المفهوم، ويعرض معلومات غير مفهومة. بشكل عام، كان الانطباع بأن المشروع قد توقف بنجاح.

مسؤول SQLite

سعر: مجانا

سهل الاستخدام للغاية و برنامج وظيفي. يتم تقديم بنية قاعدة البيانات بأكملها في شكل شجرة من الكائنات، والتي يمكن تخصيصها حسب تفضيلاتك. يبدو أن مسؤول SQLite مكتوب باستخدام . من بين الوظائف الإضافية للبرنامج إنشاء كود دلفي من جزء SQL محدد. لإنشاء الجداول والمشغلات وما إلى ذلك. يتم استخدام المعالجات مريحة. عند استخدام هذا البرنامج، شعرت بخيبة أمل كبيرة بسبب قلة الفرص عملية عاديةمع UTF-8، وأفسد قليلاً، ولكن لا يزال إلى حد ما انطباع الواجهة الروسية - بعض النقوش لا تتناسب مع المساحة المخصصة لها. لذلك عند الاختبار استخدمت اللغة الإنجليزية الافتراضية.

إذا لم يكن استخدام UTF-8 مهمًا بالنسبة لك، فقم بتنزيله مسؤول SQLite - لن تندم.

SQLiteManager

سعر: الإصدار التجريبي متاح بسعر 49 دولارًا

SQLiteManager مثل البرنامج السابق لديه ما يكفي واجهة سهلة الاستخدام، يفهم UTF-8 تمامًا، بالإضافة إلى ذلك، لديه عدد من "الحيل" الخاصة به. من بينها:

  1. محلل استعلام SQL
  2. التحقق من سلامة قاعدة البيانات
  3. تحسين قاعدة البيانات
  4. القدرة على استخدام البرامج النصية الخاصة بك في البرنامج (في رأيي، VBScript) لتحسين سهولة الاستخدام.

ل وظائف اضافيهويتضمن البرنامج القدرة على توليد التقارير على قاعدة البيانات. يحتوي الإصدار التجريبي على قيود صارمة خاصة به على الاستعلامات، على سبيل المثال، يتم تضمين أول 20 سجلًا فقط من المجموعة في نتائج التحديد. من حيث سهولة الاستخدام، كان الانطباع مدللًا جدًا بسبب الوميض عند إعادة رسم النوافذ. جهاز الكمبيوتر الخاص بي ليس قديمًا إلى هذا الحد، ولكن حتى مع وجود 512 ميجابايت، تومض نوافذ الفيديو بشكل ملحوظ.

سكليتي مايسترو

سعر: بدءًا من 79 دولارًا، هناك نسخة تجريبية لمدة 30 يومًا .

بشكل عام، خط الإنتاج من SQL مايسترو المجاميع كمية كبيرةمنتجات لإدارة مجموعة واسعة من قواعد البيانات، بما في ذلك SQLite. الانطباع الأول عن البرنامج هو لعبة جيدة الصنع للتأمل من الخارج. نعم سكليتي مايسترو يحتوي على كل الوظائف التي أحتاجها، وشجرة مناسبة لكائنات قاعدة البيانات، والقدرة على الإنشاء بسرعة كائنات مختلفة DB، وما إلى ذلك، ولكن بعد سهولة الاستخدام إلى حد ما مسؤول SQLite مظهر القوائم المربكة متعددة المستويات مع مجموعة من الخيارات المختلفة التي، إلى حد كبير، ليست هناك حاجة إليها من حيث المبدأ، بطريقة ما يصبح العمل مع هذا البرنامج مخيفًا. ولهذا السبب، تم ضبطه على 1 للراحة. السعر أيضًا لم يكن ممتعًا بشكل خاص - 79 دولارًا. بالنسبة لي، سيكون من الأفضل لو قاموا بتبسيط الواجهة وخفض السعر إلى 50 دولارًا على الأقل، ثم أفكر في شرائه.

خبير SQLite

سعر: النسخة الشخصية - مجانية، النسخة المهنية- من 38 دولارًا

على العموم أنا لست كذلك اختلافات كبيرةالإصدارات شخصي من احترافي . لإنجاز هذه المهمة خبير SQLite لم يستغرق الأمر أكثر من خمس دقائق. يحتوي البرنامج على مجموعة الوظائف الكاملة التي أحتاجها. يحب خبير SQLiteManager يمكنه التحقق من سلامة قاعدة البيانات، وتصدير البيانات إلى ملف CSV أو تنسيقات قاعدة البيانات الأخرى، ولديه محرر SQL مناسب، ومعالجات لإنشاء الجداول والفهارس والمشغلات وما إلى ذلك. يعد الوصول إلى وظائف البرنامج أكثر صعوبة إلى حد ما من مسؤول SQLite ولكن ليس بقدر ما يخيفك بمظهرك فقط :). بشكل عام، اخترت خبير SQLite شخصي .

هذا هو البرنامج الذي في هذه المرحلةأظهر عملي مع SQLite أفضل النتائجسواء من حيث الجودة وسهولة الاستخدام أو من حيث مجموعة جميع الوظائف الضرورية. من المؤسف بالطبع أن المسؤول المجاني لا يعرف ما هو UTF-8 - ربما نسخة جديدةسيتم تصحيحه، فربما سأعيد النظر في خياري.

رف الكتب

اسم: قواعد البيانات ودلفي. النظرية والتطبيق

وصفيعتمد الكتاب على مواد من المحاضرات و دروس عملية، التي وضعها المؤلف، ويجمع اساس نظرىو الجوانب العمليةتطوير قواعد البيانات العلائقيةبيانات.

شراء باللتر 383 فرك.
مؤلف: أناتولي خومونينكو، فلاديمير جوفمان
اسم:العمل مع قواعد البيانات في دلفي
وصف: يناقش استخدام أدوات دلفي لتطوير تطبيقات قواعد البيانات. يتم إعطاء مفاهيم قواعد البيانات، وتتميز العناصر، ويتم وصف مراحل تصميم قواعد البيانات العلائقية، ويتم تحديد تكنولوجيا التطوير نظم المعلوماتيغطي تقنيات التعامل مع البيانات، وإنشاء الجداول وتطبيقات قواعد البيانات، وإعداد التقارير.
شراء باللتر 151 فرك.

الجزء الثالث هو الدقيقة والميزات.

هذا الجزء عبارة عن خليط من جميع أنواع ميزات SQLite. لقد جمعت هنا (في رأيي) أهم المواضيع، دون فهم أنه من المستحيل فهم SQLite Nirvana.

نظرًا لوجود الكثير من المعلومات مرة أخرى، سيكون تنسيق المقالة كما يلي: مقدمة قصيرة عن موضوع مثير للاهتمامورابط لموقع المنزل، حيث التفاصيل. الموقع، للأسف، باللغة الإنجليزية.

استخدام SQLite في التطبيقات متعددة الخيوط
يمكن إنشاء SQLite بخيط واحد (خيار التجميع SQLITE_THREADSAFE = 0).

في هذا النموذج، لا يمكن استخدامه في وقت واحد من عدة سلاسل رسائل، نظرًا لعدم وجود رمز مزامنة على الإطلاق. لماذا؟ للسرعة الفائقة.

يمكنك التحقق مما إذا كان هناك ترابط متعدد باستخدام المكالمة sqlite3_threadsafe(): إذا أعاد 0، فهو SQLite ذو خيط واحد.

بشكل افتراضي، يتم إنشاء SQLite بدعم مؤشر الترابط (sqlite3.dll).

هناك طريقتان لاستخدام SQLite متعدد الخيوط: متسلسلة ومتعددة الخيوط.

مسلسل(يجب عليك تحديد العلم SQLITE_OPEN_FULLMUTEXعند فتح اتصال). في هذا الوضع، يمكن للسلاسل إجراء مكالمات SQLite بأي طريقة تريدها، دون قيود. لكن جميع المكالمات تحظر بعضها البعض وتتم معالجتها بشكل متسلسل بدقة.

متعدد الخيوط(SQLITE_OPEN_NOMUTEX). في هذا الوضع، لا يمكنك استخدام نفس الاتصال في وقت واحد من عدة سلاسل (لكن هذا مسموح به الاستخدام المتزامن اتصالات مختلفةتيارات مختلفة). يستخدم هذا الوضع عادة.

تنسيق البيانات
يمكن لقاعدة بيانات SQLite تخزين البيانات (النصية) بتنسيق UTF-8 أو UTF-16.

عدة مكالمات APIيتكون من مكالمات تستقبل UTF-8 ( sqlite3_XXX) والمكالمات التي تستقبل UTF-16 ( sqlite3_XXX16).

إذا كان نوع بيانات الواجهة والاتصال غير متطابقين، فسيتم إجراء التحويل بسرعة.

استخدم دائمًا UTF-8.

دعم يونيكود
افتراضيا - لا يوجد دعم. تحتاج إلى إنشاء الترتيب الخاص بك (طريقة المقارنة) عبر sqlite3_create_collation .
وحدد وظائفك المضمنة مثل ()، العلوي ()، أقل ()خلال www.sqlite.org/c3ref/create_function.html.

ويقوم بعض الأشخاص ببناء ملفات SQLite DLLs باستخدامها بالفعل.

أنواع البيانات ومقارنة القيمة
كما ذكرنا سابقًا، يسمح لك SQLIte بكتابة أي قيمة في أي عمود.

يمكن أن تنتمي القيمة الموجودة داخل قاعدة البيانات إلى واحدة منها الأنواع التاليةتخزين ( فئة التخزين):
باطل,
عدد صحيح(تشغل 1،2،3،4،6 أو 8 بايت)،
حقيقي(رقم النقطة العائمة، 8 بايت بتنسيق IEEE)،
نص(سلسلة بتنسيق بيانات قاعدة البيانات، عادةً UTF-8)،
سائل لزج(البيانات الثنائية، مخزنة "كما هي").

ترتيب الفرز للقيم ذات الأنواع المختلفة هو:
- باطلعلى الأقل (بما في ذلك غيرها باطل);
- عدد صحيحو حقيقيأقل من أي نصو سائل لزج، تتم مقارنتها حسابيا مع بعضها البعض؛
- نصأقل من أي سائل لزج، تتم مقارنتها مع بعضها البعض بناءً على ترتيبها؛
- سائل لزج-s تتم مقارنتها مع بعضها البعض من خلال ممكمب ().

يقوم SQLite بإجراء تحويلات ضمنية للكتابة بسرعة في عدة أماكن:
- عند إدخال قيمة في عمود (يحدد نوع العمود توصية التحويل)؛
- عند مقارنة القيم مع بعضها البعض.

قيم سائل لزجو باطليتم إدخالها دائمًا في أي عمود "كما هي".

إلى العمود نصقيم نصيتم إدخال القيم "كما هي" عدد صحيحو حقيقيتصبح سلاسل.
إلى العمود رقمي, عدد صحيحتتم كتابة الأرقام "كما هي"، وتصبح السلاسل أرقامًا إذا أمكن ذلك (أي أن التحويل العكسي "دون فقدان البيانات" مسموح به).
للعمود حقيقيالقواعد متشابهة عدد صحيح(رقمي); والفرق هو أن كافة الأرقام يتم تمثيلها بتنسيق النقطة العائمة.
إلى العمود لا أحديتم إدخال القيم "كما هي" (يتم استخدام هذا النوع افتراضيًا ما لم يتم تحديد نوع آخر).

عند مقارنة القيم أنواع مختلفةيمكن إجراء تحويل نوع إضافي بين بعضها البعض.

عند مقارنة رقم بسلسلة، إذا كان من الممكن تحويل السلسلة إلى رقم "بدون خسارة"، فإنها تصبح رقمًا.

سأشير هنا إلى أنه في SQLite يمكن أن يحتوي الفهرس الفريد على نفس العدد باطلالقيم (توافق Oracle مع هذا ويختلف MS SQL).

قاعدة البيانات في الذاكرة
إذا على المكالمة sqlite3_open()تمرير اسم الملف باسم ":ذاكرة:"، فسيقوم SQLite بإنشاء اتصال بقاعدة بيانات جديدة (نظيفة). في عين الاعتبار.

لا يمكن تمييز هذا الاتصال تمامًا عن الاتصال بقاعدة البيانات الموجودة في الملف وفقًا لمنطق الاستخدام: نفس الشيء مجموعة SQLالأوامر

لسوء الحظ، توجد طريقة لفتح اتصالين لنفس قاعدة البيانات في الذاكرة.

محدث:اتضح أنه من الممكن بالفعل فتح اتصالين بقاعدة بيانات واحدة في الذاكرة.

Rc = sqlite3_open("file:memdb1?mode=memory&cache=shared", &db);

إرفاق قاعدة البيانات "file:memdb1?mode=memory&cache=shared" AS aux1;

الانضمام إلى قواعد بيانات متعددة في وقت واحد
لفتح اتصال بقاعدة البيانات، استخدم المكالمة sqlite3_open().

في أي وقت نستطيع اتصال مفتوح ينضمما يصل إلى 10 قواعد بيانات أخرى عبر أمر SQL إرفاق قاعدة البيانات.

Sqlite3_open("foo.sqlite3", &db); // فتح اتصال بقاعدة البيانات في الملف "foo.sqlite3" sqlite3_exec(&db, "ATTACH "bar.sqlite3" AS bar"، ...); // إلحاق "bar.sqlite3"

أصبحت الآن جميع جداول قاعدة البيانات في ملف db1.sqlite3 متاحة بشفافية في اتصالنا.

لحل تعارضات الأسماء، يجب عليك استخدام اسم الصلة (يسمى القاعدة الرئيسية "رئيسي"):

حدد * من main.my_table UNION حدد * من bar.my_table

لا شيء يمنعك من الارتباط بقاعدة البيانات قاعدة جديدةفي الذاكرة واستخدامها للتخزين المؤقت، الخ.

Sqlite3_open("foo.sqlite3", &db); // فتح اتصال بقاعدة البيانات في الملف "foo.sqlite3" sqlite3_exec(&db, "ATTACH ":memory:" AS mem"، ...); // إرفاق قاعدة بيانات جديدة في الذاكرة

هذا جدا فرصة مفيدة. يجب أن يكون لقواعد البيانات المرفقة نفس تنسيق البيانات مثل قاعدة البيانات الرئيسية، وإلا فسيكون هناك خطأ.

قاعدة بيانات مؤقتة
قم بتمرير سلسلة فارغة بدلاً من اسم الملف إلى sqlite3_open()وسيتم إنشاء قاعدة بيانات مؤقتة في ملف على القرص. علاوة على ذلك، بعد إغلاق الاتصال بقاعدة البيانات، سيتم حذفه من القرص.
ضبط قاعدة البيانات باستخدام أمر PRAGMA
أمر SQL براغمايعمل على ضبط جميع أنواع الإعدادات للاتصال أو قاعدة البيانات نفسها:

اسم براغما؛ // طلب القيمة الحالية لمعلمة الاسم PRAGMA name = value; // قم بتعيين معلمة الاسم على القيمة

يجب أن يتم إعداد الاتصال (من الواضح) مباشرة بعد فتحه وقبل استخدامه.

يتوفر وصف كامل لجميع المعلمات.

سأركز على الأشياء الأكثر أهمية.

PRAGMA page_size = بايت؛ // حجم صفحة قاعدة البيانات؛ صفحة قاعدة البيانات هي وحدة تبادل بين القرص وذاكرة التخزين المؤقت، ومن المعقول جعلها مساوية لحجم كتلة القرص (لدي 4096) PRAGMA Cache_size = -kibibytes; // قم بتعيين حجم ذاكرة التخزين المؤقت للاتصال بالكيلوبايت، وهو افتراضيًا 2000 صفحة قاعدة بيانات PRAGMA encoding = "UTF-8"; // نوع بيانات قاعدة البيانات، استخدم دائمًا UTF-8 PRAGMA External_keys = 1; // تمكين دعم المفاتيح الخارجية افتراضيًا - DISABLED PRAGMA Journal_mode = DELETE | اقتطاع | مستمرة | الذاكرة | وال | عن؛ // قم بتعيين نوع السجل، انظر أدناه PRAGMA متزامن = 0 | إيقاف | 1 | عادي | 2 | ممتلىء؛ // نوع مزامنة المعاملات، انظر أدناه

مجلة وتسجيل المعاملات
لذلك نأتي إلى موضوع ينقلك إتقانه على الفور إلى المستوى الثالث من درجة الماجستير في SQLite.

يحافظ SQLite بعناية على سلامة البيانات في قاعدة البيانات (ACID)، وينفذ آلية لتغيير البيانات من خلالها المعاملات.

باختصار حول المعاملات: إما أن يتم التراجع عن المعاملة بالكامل أو يتم التراجع عنها بالكامل. لا يمكن أن تكون هناك دول وسيطة.

إذا كنت لا تستخدم المعاملات بشكل صريح ( يبدأ؛ ...; يقترف؛)، الذي - التي يتم دائمًا إنشاء معاملة ضمنية. يبدأ قبل تنفيذ الأمر ويتم تنفيذه مباشرة بعد ذلك.

بالمناسبة، هذا هو مصدر الشكاوى حول "بطء" SQLite. يمكن لـ SQLite إدراج ما يصل إلى 50 ألف سجل في الثانية، ولكن تسجيل المعاملاتلا يمكنها فعل أكثر من ~ 50 في الثانية.

ولهذا السبب لا يمكن إدراج السجلات بسرعة باستخدام معاملة ضمنية.

باستخدام الإعدادات الافتراضية، يضمن SQLite تكامل قاعدة البيانات حتى عند إيقاف تشغيل الطاقة أثناء التشغيل.

يتم تحقيق هذا السلوك المذهل من خلال القيادة مجلة (ملف خاص) وآلية ذكية لمزامنة التغييرات على القرص.

يعمل تحديث البيانات في قاعدة البيانات لفترة وجيزة على النحو التالي:

قبل أي تعديل لقاعدة البيانات، يحفظ SQLite صفحات قابلة للتحريرمن قاعدة البيانات إلى ملف منفصل(مجلة)، أي ببساطة نسخها هناك؛
- بعد التأكد من إنشاء نسخة من الصفحات، يبدأ SQLite في تغيير قاعدة البيانات؛
- بعد التأكد من أن جميع التغييرات في قاعدة البيانات "وصلت إلى القرص" واكتملت قاعدة البيانات، يقوم SQLite بمسح السجل.

تم وصف ذرية آلية المعاملة بالتفصيل.

إذا فتح SQLite اتصالاً بقاعدة البيانات ورأى أن هناك سجلًا بالفعل، فإنه يدرك أن قاعدة البيانات في حالة غير مكتملة ويقوم تلقائيًا بإرجاع المعاملة الأخيرة.

أي أن آلية استعادة قاعدة البيانات بعد الفشل هي في الواقع مدمجة في SQLite وتعمل دون أن يلاحظها أحد من قبل المستخدم.

بشكل افتراضي، يتم الاحتفاظ بالسجل في الوضع يمسح.
PRAGMA Journal_mode = DELETE

وهذا يعني أنه سيتم حذف ملف السجل بعد اكتمال المعاملة. إن حقيقة وجود ملف سجل في هذا الوضع تعني بالنسبة لـ SQLite أن المعاملة لم تكتمل وأن قاعدة البيانات بحاجة إلى الاستعادة. يحتوي ملف السجل على اسم ملف قاعدة البيانات المُلحق بـ "-journal".

في الوضع اقتطاعيتم اقتطاع ملف السجل إلى الصفر (في بعض الأنظمة يكون هذا أسرع من حذف الملف).

في الوضع ثابرتكون بداية ملف السجل مليئة بالأصفار (ومع ذلك، لا يتغير حجمه ويمكن أن يشغل مساحة كبيرة).

في الوضع ذاكرةيتم حفظ ملف السجل في الذاكرة ويعمل هذا بسرعة، ولكنه لا يضمن استعادة قاعدة البيانات في حالة الفشل (لا توجد نسخة من البيانات الموجودة على القرص).

أو يمكنك تعطيل المجلة بالكامل ( PRAGMA Journal_mode = OFF). في هذه الحالة، يتوقف التراجع عن المعاملة (الأمر التراجع) ومن المرجح أن تتلف قاعدة البيانات إذا انتهى البرنامج بشكل غير طبيعي.

بالنسبة لقاعدة البيانات في الذاكرة، يمكن أن يكون وضع السجل إما فقط ذاكرة، أو عن.

دعونا نعود قليلا. كيف "يتأكد" SQLite من أن قاعدة البيانات ستكون متسقة دائمًا؟

نحن نعرف ذلك الأنظمة الحديثةاستخدم التخزين المؤقت الذكي لتحسين الأداء ويمكن أن يؤخر عملية الكتابة إلى القرص.

لنفترض أن SQLite قد انتهى من الكتابة إلى قاعدة البيانات ويريد مسح ملف السجل لتحديد حقيقة تنفيذ المعاملة.

ماذا لو تم حذف الملف قبل تحديث قاعدة البيانات؟

إذا تم إيقاف تشغيل الطاقة خلال هذه الفترة الزمنية، فلن يكون السجل موجودًا بعد الآن، ولن تكتمل قاعدة البيانات بعد - فقدان البيانات!

باختصار، يجب أن تعتمد آلية الالتزام بالتغيير الذكية على بعض الضمانات من نظام القرصونظام التشغيل.

براغما متزامنيحدد درجة "جنون العظمة" لدى SQLite في هذا الصدد.

وضع عن(أو 0) يعني: يعتبر SQLite أن البيانات ثابتة على القرص فور نقلها إلى نظام التشغيل (أي مباشرة بعد استدعاء واجهة برمجة تطبيقات نظام التشغيل المقابلة).

وهذا يعني أن النزاهة مضمونة عندما تعطل التطبيق(منذ استمرار تشغيل نظام التشغيل)، ولكن ليس متى تعطل نظام التشغيلأو انقطاع التيار الكهربائي.

وضع المزامنة طبيعي(أو 1) يضمن السلامة أثناء تعطل نظام التشغيل وجميع حالات انقطاع التيار الكهربائي تقريبًا. هناك احتمال غير صفر أنه إذا فقدت السلطة في أكثر اللحظات غير المناسبةسوف تتدهور القاعدة. يعد هذا نوعًا من الوضع المتوسط ​​والتنازلي من حيث الأداء والموثوقية.

وضع ممتلىءيضمن النزاهة دائما وفي كل مكان وفي حالة وقوع أي حوادث. لكنه يعمل، بطبيعة الحال، بشكل أبطأ، لأنه في أماكن معينةهناك فترات توقف مؤقتة. وهذا هو الوضع الافتراضي.

لذلك، فقط موضوع مجلة مثل وول.

وضع سجل WAL
بشكل افتراضي، يتم "إرجاع" وضع سجل قاعدة البيانات دائمًا إلى يمسح. لنفترض أننا فتحنا اتصالاً بقاعدة البيانات وقمنا بتعيين الوضع ثابر. تم تغيير البيانات، الاتصال مغلق.

يوجد ملف سجل متبقي على القرص (بدايته مليئة بالأصفار).

افتح الاتصال بقاعدة البيانات مرة أخرى. إذا لم تقم بتعيين وضع السجل على هذا الاتصال، فسوف يعمل مرة أخرى يمسح. بمجرد أن نقوم بتحديث البيانات، ستقوم آلية تنفيذ المعاملة بمسح ملف السجل.

وضع السجل وولإنه يعمل بشكل مختلف - إنه "دائم". بمجرد تحويل قاعدة البيانات إلى وضع WAL، ستبقى في هذا الوضع حتى يتم تغييرها بشكل صريح إلى وضع سجل آخر.

فلماذا هو مطلوب؟

تم تصميم SQLite في الأصل كقاعدة بيانات مدمجة. تم تصميم بنية مشاركة الوصول المتزامن إلى البيانات بشكل بدائي: يمكن لعدة اتصالات قراءة قاعدة البيانات في وقت واحد، ولكن الكتابة إليها هذه اللحظةلا يمكن أن يكون هناك سوى اتصال واحد في كل مرة. وهذا يعني، على الأقل، ذلك اتصال الكتابةينتظر حتى يتم "تحرير" قاعدة البيانات من القراء. عند محاولة الكتابة إلى قاعدة بيانات "مشغولة"، يتلقى التطبيق خطأ SQLITE_BUSY(يجب عدم الخلط بينه وبين SQLITE_LOCKED!). يتم تحقيق آلية مشاركة الوصول هذه من خلال واجهة برمجة التطبيقات لقفل الملفات (والتي لا تعمل بشكل جيد على محركات أقراص الشبكةلذا لا يُنصح باستخدام SQLite هناك؛ )

- الامتداد (التنسيق) هو الأحرف الموجودة في نهاية الملف بعد النقطة الأخيرة.
- يقوم الكمبيوتر بتحديد نوع الملف من خلال امتداده.
- بواسطة ويندوز الافتراضيلا يظهر امتدادات أسماء الملفات.
- لا يمكن استخدام بعض الأحرف في اسم الملف وامتداده.
- ليست كل التنسيقات مرتبطة بنفس البرنامج.
- فيما يلي جميع البرامج التي يمكن استخدامها لفتح ملف SQLITE.

SQLite هي مكتبة تشتمل على محرك قاعدة بيانات SQL قائم بذاته ومخصص للمعاملات. لا يتطلب التثبيت أو تكوين النظام. ليست هناك حاجة أيضًا إلى تكوين الخادم، ولا حاجة إلى تشغيله أو إيقافه، ولا حاجة إلى إنشاء قاعدة بيانات جديدة. ميزة أخرى هي أنها تعمل بالتناوب، حيث تبدأ وتنتهي كل جزء على حدة، وهو أمر مفيد في حالة حدوث خطأ فجأة أو فشل النظام. بفضل هذا، لن يتم فقدان البيانات، ولكن سيتم حفظها وستستمر في العمل. SQL هي قاعدة البيانات الأكثر استخدامًا في العالم وهي شائعة جدًا. لديه فتحة مفتوحة بالكامل...

قاعدة البيانات NET للغاية أداة سهلة الاستخدام، مما يسمح بمعالجات مختلفة مع عدد لا يحصى من قواعد البيانات. بعد تنزيل التطبيق، يمكنك بسهولة إنشاء جداول البيانات المطلوبة أو تحديدها أو حذفها أو تحديثها. يمكن للبرنامج تصدير أو طباعة الجداول بالبيانات بنجاح. يتفاعل البرنامج مع برنامج Access وExcel. يدعم العمل مع قواعد البيانات: MySQL، Oracle، SQLite، SQLServer، OLEDB، ODBC، OData، SQLAzure، LocalDB، PostgreSQL وقواعد البيانات الأخرى. ل التشغيل السليميتطلب البرنامج التثبيت الإلزامي لمايكروسوفت. الإطار الصافي. يسمح لك بتحديد أي خط وتصغيره إلى الدرج.