يساعدك هذا الدرس على فهم ما هو SQLite، وكيف يختلف عن SQL، ولماذا هو مطلوب والطريقة التي يتعامل بها مع قاعدة بيانات التطبيقات.
SQLite هي مكتبة برمجيات تقوم بتنفيذ محرك قاعدة بيانات SQL للمعاملات، مستقل بذاته، بدون خادم، بدون تكوين. يعد SQLite واحدًا من أسرع محركات قواعد البيانات نموًا، ولكن هذا نمو من حيث الشعبية، وليس له علاقة بحجمه. الكود المصدري لـ SQLite موجود في المجال العام.
ماهي SQLite ؟
SQLite هي مكتبة قيد المعالجة تقوم بتنفيذ محرك قاعدة بيانات SQL للمعاملات، مستقل بذاته، بدون خادم، بدون تكوين. إنها قاعدة بيانات، وهي ذات تكوين صفري، مما يعني أنك مثل قواعد البيانات الأخرى لا تحتاج إلى تكوينها في نظامك.
محرك SQLite ليس عملية مستقلة مثل قواعد البيانات الأخرى، يمكنك ربطه بشكل ثابت أو ديناميكي حسب متطلباتك مع التطبيق الخاص بك. يصل SQLite إلى ملفات التخزين الخاصة به مباشرة.
لماذا نستخدم SQLite ؟
1 – لا يتطلب SQLite عملية أو نظام خادم منفصل للتشغيل (بدون خادم).
2 – يأتي SQLite بدون تكوين، مما يعني عدم الحاجة إلى الإعداد أو الإدارة.
3 – يتم تخزين قاعدة بيانات SQLite كاملة في ملف قرص واحد مشترك بين الأنظمة الأساسية.
4 – SQLite صغير جدًا وخفيف الوزن، أقل من 400 كيلو بايت تم تكوينه بالكامل أو أقل من 250 كيلو بايت مع حذف الميزات الاختيارية.
5 – SQLite مستقل بذاته، مما يعني عدم وجود تبعيات خارجية.
6 – معاملات SQLite متوافقة تمامًا مع ACID، مما يسمح بالوصول الآمن من عمليات أو سلاسل رسائل متعددة.
7 – يدعم SQLite معظم ميزات لغة الاستعلام الموجودة في معيار SQL92 (SQL2).
8 – SQLite مكتوب بلغة ANSI-C ويوفر واجهة برمجة تطبيقات بسيطة وسهلة الاستخدام.
9 – يتوفر SQLite على أنظمة UNIX (Linux وMac OS-X وAndroid وiOS) وWindows (Win32 وWinCE وWinRT).
تاريخ مختصر لـ SQLite
2000 – قام د. ريتشارد هيب بتصميم SQLite لغرض عدم الحاجة إلى إدارة لتشغيل البرنامج.
2000 – في أغسطس، تم إصدار SQLite 1.0 مع مدير قاعدة بيانات GNU.
2011 – أعلنت شركة Hipp عن إضافة واجهة UNQl إلى قاعدة بيانات SQLite ولتطوير UNQLite (قاعدة بيانات موجهة نحو المستندات).
قيود SQLite
هناك عدد قليل من الميزات غير المدعومة لـ SQL92 في SQLite والمدرجة في الجدول التالي.
RIGHT OUTER JOIN
يتم تنفيذ LEFT OUTER JOIN فقط.
FULL OUTER JOIN
يتم تنفيذ LEFT OUTER JOIN فقط.
ALTER TABLE
يتم دعم متغيرات RENAME TABLE و ADD COLUMN للأمر ALTER TABLE. إن DROP COLUMN وALTER COLUMN وADD CONSTRAINT غير مدعومة.
Trigger support
يتم دعم مشغلات FOR EACH ROW ولكن ليس مشغلات FOR EACH STATEMENT.
VIEWs
طرق العرض في SQLite للقراءة فقط. لا يجوز لك تنفيذ عبارة DELETE أو INSERT أو UPDATE في طريقة العرض.
GRANT and REVOKE
أذونات الوصول الوحيدة التي يمكن تطبيقها هي أذونات الوصول العادية إلى الملفات لنظام التشغيل الأساسي.
أوامر SQLite
تشبه أوامر SQLite القياسية للتفاعل مع قواعد البيانات العلائقية أوامر SQL. وهي الإنشاء والاختيار والإدراج والتحديث والحذف والإفلات. يمكن تصنيف هذه الأوامر إلى مجموعات بناءً على طبيعتها التشغيلية
DDL – Data Definition Language
CREATE
إنشاء جدول جديد أو عرض جدول أو كائن آخر في قاعدة البيانات.
ALTER
تعديل كائن قاعدة بيانات موجود، مثل جدول.
DROP
حذف جدول بأكمله أو طريقة عرض جدول أو كائن آخر في قاعدة البيانات.
DML – Data Manipulation Language
INSERT : ينشئ سجلا
UPDATE : يعدل السجلات
DELETE : يحذف السجلات
DQL – Data Query Language
SELECT : استرداد سجلات معينة من جدول واحد أو أكثر