PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : SQLite پایگاه داده ای سبک و چابک



TAHA
12-04-2009, 11:00 PM
http://pnu-club.com/imported/2009/12/307.jpg
SQLite Logo

SQLite (http://www.sqlite.org/) یک پایگاه داده کوچک (حجمی در حدود 500 KB) که به زبان C در قالب یک کتابخانه (Library) نوشته شده است و از پایگاه داده های RDBMS به حساب می آید. این پایگاه داده بدون لیسانس (http://en.wikipedia.org/wiki/Public_Domain) (Public Domain (http://en.wikipedia.org/wiki/Public_Domain)) ، آزاد و open source (http://salarblog.wordpress.com/) منتشر می شود.


بررسی ویژگیها

برخلاف پایگاه داده های client-server (http://salarblog.wordpress.com/) پایگاه داده ی SQLite به عنوان یک پروسه مجزا عمل نمی کند. بلکه به عنوان کتابخانه ای عمل می کند که همراه برنامه انتشار یافته و امکان دسترسی به دیتا را به برنامه می دهد و همانند بخشی از آن عمل می کند.
برنامه می بایست از طریق توابع فراهم شده اقدام به فراخوانی و دسترسی به دیتا نمایند که این نحوه فراخوانی باعث بهینه تر و سریعتر در دسترس قرار گرفتن نتایج خواهد شد. این روش از درخواست به سرویس های دیگر جهت دریافت اطلاعات که سایر پایگاه داده های از آن استفاده می کنند برای داده های کم حجم و پایگاه داده کوچک، بهینه تر است.
تمامی اطلاعات این بانک اطلاعاتی (شامل جداول، تعریفات، دیتا و غیره) در یک فایل که برای تمامی سیستم عامل ها یکسان است ذخیره می شود. این روش یکی از دلایل موفقیت این پایگاه داده به شمار می آید.
SQLite با توجه به نوع ساختاری که دارد تعدادی از ویژگی های استاندارد که در SQL-92 به تصویب رسیده را پشتیبانی نمی کند. شاید بزرگترین این موارد عدم پشتیبانی از توابع و stored procedure (http://salarblog.wordpress.com/) ها باشد. سایر موارد استاندارد SQL پیاده سازی شده و در دسترس هستند.
موارد قابل استفاده در این پایگاه داده را می توان trigger ها، View ها و Query های پیچیده نام برد.
یکی از موارد جالب در پیاده سازی SQLite نحوه اعمال نوع داده ها به فیلدها (Columns) است. در این پایگاه داده به جای اختصاص دادن نوع به فیلد مورد نظر که در اکثر پایگاه داده های معتبر از این روش استفاده می شود، فقط نوع به مقدار (value) داده شده اختصاص داده می شود. برای مثال اگر نوع فیلدی Integer تعریف شده باشد و کاربر قصد وارد کردن داده ای از نوع رشته را داشته باشد، موتور پایگاه داده ابتدا سعی خواهد کرد که داده را به نوع Integer تبدیل کند. این باعث افزایش انعطاف پذیری نوع داده های فیلدها می شود. مخصوصا وقتی که نیاز به عمل bind در سایر زبانها به صورت دینامیک مورد نیاز باشد.

TAHA
12-04-2009, 11:04 PM
شیوه مدیریت دسترسی ها

چندین پروسه یا thread می تواند به صورت همزمان به یک پایگاه داده بدون مشکل دسترسی داشته باشد و از آن اطلاعات دریافت نمایند. ولی برای نوشتن اطلاعات فقط یک پروسه امکان دسترسی خواهد داشت. سایر پروسه ها باید منتظر بمانند و یا اینکه با خطا مواجه خواهند شد.

TAHA
12-04-2009, 11:05 PM
ابزارهای توسعه

یکی از مهمترین مزیت های این پایگاه داده امکان استفاده آن در اکثر زبانهای برنامه نویسی است. برنامه های دسترسی به این پایگاه داده در اکثر زبانها نوشته شده است و در دسترس است. برای مشاهده ابزارهای دسترسی به این ادرس مراجعه کنید: SQLite CVSTrac (http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers)