SQLite یک پایگاه داده کوچک (حجمی در حدود 500 KB) که به زبان C در قالب یک کتابخانه (Library) نوشته شده است و از پایگاه داده های RDBMS به حساب می آید. این پایگاه داده بدون لیسانس (Public Domain) ، آزاد و open source منتشر می شود.
بررسی ویژگیها
برخلاف پایگاه داده های client-server پایگاه داده ی SQLite به عنوان یک پروسه مجزا عمل نمی کند. بلکه به عنوان کتابخانه ای عمل می کند که همراه برنامه انتشار یافته و امکان دسترسی به دیتا را به برنامه می دهد و همانند بخشی از آن عمل می کند.
برنامه می بایست از طریق توابع فراهم شده اقدام به فراخوانی و دسترسی به دیتا نمایند که این نحوه فراخوانی باعث بهینه تر و سریعتر در دسترس قرار گرفتن نتایج خواهد شد. این روش از درخواست به سرویس های دیگر جهت دریافت اطلاعات که سایر پایگاه داده های از آن استفاده می کنند برای داده های کم حجم و پایگاه داده کوچک، بهینه تر است.
تمامی اطلاعات این بانک اطلاعاتی (شامل جداول، تعریفات، دیتا و غیره) در یک فایل که برای تمامی سیستم عامل ها یکسان است ذخیره می شود. این روش یکی از دلایل موفقیت این پایگاه داده به شمار می آید.
SQLite با توجه به نوع ساختاری که دارد تعدادی از ویژگی های استاندارد که در SQL-92 به تصویب رسیده را پشتیبانی نمی کند. شاید بزرگترین این موارد عدم پشتیبانی از توابع و stored procedure ها باشد. سایر موارد استاندارد SQL پیاده سازی شده و در دسترس هستند.
موارد قابل استفاده در این پایگاه داده را می توان trigger ها، View ها و Query های پیچیده نام برد.
یکی از موارد جالب در پیاده سازی SQLite نحوه اعمال نوع داده ها به فیلدها (Columns) است. در این پایگاه داده به جای اختصاص دادن نوع به فیلد مورد نظر که در اکثر پایگاه داده های معتبر از این روش استفاده می شود، فقط نوع به مقدار (value) داده شده اختصاص داده می شود. برای مثال اگر نوع فیلدی Integer تعریف شده باشد و کاربر قصد وارد کردن داده ای از نوع رشته را داشته باشد، موتور پایگاه داده ابتدا سعی خواهد کرد که داده را به نوع Integer تبدیل کند. این باعث افزایش انعطاف پذیری نوع داده های فیلدها می شود. مخصوصا وقتی که نیاز به عمل bind در سایر زبانها به صورت دینامیک مورد نیاز باشد.
شیوه مدیریت دسترسی ها
چندین پروسه یا thread می تواند به صورت همزمان به یک پایگاه داده بدون مشکل دسترسی داشته باشد و از آن اطلاعات دریافت نمایند. ولی برای نوشتن اطلاعات فقط یک پروسه امکان دسترسی خواهد داشت. سایر پروسه ها باید منتظر بمانند و یا اینکه با خطا مواجه خواهند شد.
ابزارهای توسعه
یکی از مهمترین مزیت های این پایگاه داده امکان استفاده آن در اکثر زبانهای برنامه نویسی است. برنامه های دسترسی به این پایگاه داده در اکثر زبانها نوشته شده است و در دسترس است. برای مشاهده ابزارهای دسترسی به این ادرس مراجعه کنید: http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers
مهمترین کتابخانه های رابط برای استفاده از SQLite
dotNET Framework: http://sqlite.phxsoftware.com/
dotNET Framework: http://www.mono-project.com/SQLite
Delphi: http://www.aducom.com/
C++: http://www.sqliteplus.com/
Java: http://www.ch-werner.de/javasqlite
PHP: SQLite is bundled with PHP 5. http://www.php.net/
Python: http://pysqlite.org/
برای طراحی و ایجاد پایگاه داده SQLite می توانید از ابزارهای زیر استفاده کنید:
SQLite Manager: یک extension برای مرورگر فایرفاکس که با به سادگی امکان دسترسی به تمامی امکانات SQLite رو فراهم می کند. لینک: https://addons.mozilla.org/en-US/firefox/addon/5817
SQLite Database Browser: در آدرس sqlitebrowser.sourceforge.net
SQLite Expert: در آدرس www.sqliteexpert.com
SQLite Administrator: در آدرس sqliteadmin.orbmu2k.de
SQLite مورد مقبولیت فراوانی برای استفاده به عنوان یک دیتابیس Embeded قرار گرفته و در پروژه های زیر مورد استفاده قرار گرفته است:
FireFox – این مرورگر برای ذخیره اطلاعات خود از SQLite استفاده می کند.
Mac OS X – سیستم عامل شرکت Apple به صورت داخلی از SQLite به عنوان یک پایگاه داده استاندارد استفاده می کند.
Skype – این نرم افزار چت و گفت و گوی آنلاین که با مقبولیت خوبی روبروست از SQLite استفاده می کند.
Symbian – سیستم عامل گوشی های موبایل در نسخه های جدید خود از این پایگاه داده به صورت توکار استفاده می کند.
Android – سیستم عامل جدید گوگل برای موبایل
iPhone و iPod touch : در این دو دستگاه محصول Apple از این پایگاه داده استفاده شده است.
Google Gears – ابزار گوگل برای نوشتن برنامه های تحت وب با استفاده از تکنولوژی های مختلف روز.
معایب
در طی آزمایشات گوناگونی که انجام گرفته سرعت این پایگاه داده در مقابله با حجم اطلاعات زیاد مقداری بیش از حد معمول پایین می آید.
عدم امنیت. در این پایگاه داده هیچ روش خاصی برای حفظ امنیت داده های در نظر گرفته نشده است و این مورد می تواند برای ذخیره داده های حساس مشکل ساز شود.
سخن آخر
پایگاه داده SQLite یک ابزار کوچک سریع و مطمئن است که برای مقاصد خاص نوشته شده است. از این پایگاه داده می توانید برای سیستم های Embeded استفاده کنید. یا برای نزم افزار های کوچک و تک کاربره خود تا خود را از شر مشکلات انتشار پایگاه داده های بزرگ همراه نرم افزار خود دور بمانید.
همچنین این یک گزینه فوق العاده برای کسانی است که از access صرفا برای پایگاه داده خود استفاده می کنند.
منابع مفید
سایت اصلی: http://www.sqlite.org
دانلود نسخه اصلی: http://www.sqlite.org/download.html
ویژگی های حذف شده از SQL استاندارد: http://www.sqlite.org/omitted.html
ویژگی های پیاده سازی شده:http://www.sqlite.org/lang.html
منبع: نوشته های یک برنامه نویس
ممنون.
مفید و جامع بود.
خیلی عالی و مفید بود
اگر ممکن است طرز استفاده از این پایگاه داده در جاوا را هم مفصلا توضیح دهید
با تشکر
مچکررررررر
خوشمان امد از ظاهر سایتتون بح بح 🙂