SQLite چیست؟

یک سیستم مدیریت پایگاه داده است که به راحتی داده ها و اطلاعات نرم افزار را مدیریت می کند .درسال ۲۰۰۰ ،دکتر ریچارد هیپ زمانی که مشغول کار با نیروی دریایی ایالات متحده آمریکا بر روی برنامه‌های مربوط به ناوشکن‌هایی که به موشک‌های هدایت‌شونده مجهز بودند و از پایگاه‌داده IBM Informix استفاده می‌کردند، طراحی شد. در واقع هدف ریچارد این بود که برنامه‌ها بتوانند بدون نصب یا مدیریت پایگاه داده، مستقل اجرا شوند.اس کیو ال لایت یا سی کوئل لایت (SQLite ) یک سامانه مدیریت پایگاه داده رابطه ای کم حجم (در حدود ۳۵۰ کیلو بایت) که به زبان سی در قالب یک کتابخانه نوشته شده است و یک پایگاه داده های رابطه ای به حساب می آید .کد اس کیو ال لایت در مالکیت عمومی ،بدون هیچ مجوز و متن باز است.از ویژگی های اس کیو ال لایت آن است که پایگاه داده ای متشکل از یک پرونده ،با حجم کم و عدم وابستگی به سیستم عامل،دارای محیط مدیریتی خوب که تمامی امکانات آن را پوشش می دهد دراختیار کاربر می گذارد.با این حال اس کیو ال لایت از تمامی امکانات اس کیو ال پشتیبانی نمی کند.برخلاف انواع دیگر پایگاه داده ،اس کیو ال لایت یک پروسه جداگانه نیست که توسط برنامه ی اصلی فراخوانی شود،بلکه جزئی از خود برنامه ی اصلی است. اس‌کیولایت اجازه خوانده شدن هم‌زمان چند قسمت از پایگاه داده را می‌دهد اما نوشتن در پایگاه داده به طور هم‌زمان ممکن نیست. مرورگرهای وب به طور متداول از اس‌کیوال لایت برای ذخیره تاریخچهٔ بازدید وب استفاده می‌کنند. با توجه به کاربرد وسیع آن در مرورگرهای وب، سیستم‌های عامل و غیره، گمان می‌رود که اس‌کیوال لایت پرکاربردترین پایگاه داده موجود باشداس کیو ال لایت شهرت خود را مدیون پشتیبانی گسترده از انواع مختلف سیستم عامل‌ها از جمله: ویندوز، لینوکس، مک و..... است.ویژگی ها:۱_بدون در نظر گرفتن نوع داده‌ای میتوان هر نوع مقداری را در هر ستون ذخیره کرد.۲_بعضی اوقات از ورودی و خروجی‌های فایل‌های سیستم، سریع‌تر عمل می‌کند.۳_تمام دیتابیس را می‌توان بر روی انواع مختلف دیسک‌ها ذخیره کرد.۴_می‌توان به طور همزمان به چندین فایل پایگاه‌‌داده دسترسی پیدا کرد. از این قابلیت می‌توان در Join کردن جداولی از پایگاه‌های‌ داده‌ای مختلف استفاده کرد یا اطلاعات یک جدول را فقط با یک دستور در جدول دیگر کپی کرد.۵_تقریبا از تمامی سیستم‌عامل‌ها مانند: Android, BSD, IOS, Linux, Mac, Solaris. VxWorks و انواع مختلف ویندوز پشتیبانی می‌کند. همچنین برای انتقال به سیستم‌های دیگر، عملیات بسیار آسانی نیاز دارد.امکانات :در حالت عادی، یک سیستم مدیریت پایگاه داده، برنامه‌ای که می‌خواهد به اطلاعات موجود در پایگاه‌داده دسترسی پیدا کند، درخواست خود را به کمک پروتکل TCP/IP به فرآیند پایگاه‌داده ارسال می‌کند و جواب را از طریق همین کانال ارتباطی دریافت می‌کند. به این فرآیند، معماری Client/Server می‌گویند.اما SQLite با این ساختار کار نمی‌کند و هنگام استفاده به سرور نیاز نداریم. این پایگاه‌داده با برنامه ادغام و دسترسی به فایل‌های پایگاه داده کار می‌کند. به این طریق، خواندن و نوشتن در پایگاه‌داده مستقیما با خواندن و نوشتن در فایل‌های آن صورت می‌گیرد.کاربرد ها:۱_پشتیبانی فریم‌ورک‌های مطرح PHP از SQLite ۲_انتخاب اول برنامه‌نویسان موبایل اندروید و IOS از SQLite ۳_استفاده از این سیستم پایگاه‌داده برای مدیریت نرم‌افزارهای فایرفاکس، کروم، اسکایپ و دراپ‌باکس چه زمانی باید از SQLite استفاده کنیم؟اگر مشغول توسعه نرم‌افزار embedded برای دستگاه‌هایی مانند تلویزیون، گوشی‌های تلفن، دوربین‌ها، دستگاه‌های الکترونیکی خانگی و غیره هستیم، در این صورت SQLite گزینه مناسبی برای انتخاب محسوب می‌شود.اس کیو لایت می‌تواند حجم درخواست‌های پایین تا متوسط HTTP را اداره کرده و اطلاعات پیچیده نشست‌ها را برای یک وب‌سایت مدیریت کند.زمانی که نیاز باشد یک آرشیو از فایل‌ها داشته باشیم، SQLite می‌تواند آرشیو‌ها با اندازه کوچک‌تر و با متادیتای کمتر نسبت به آرشیو‌های معمول ZIP تولید کند.اگر می‌خواهیم برخی داده‌ها را درون یک اپلیکیشن پردازش کنیم، می‌توانید از SQLite به عنوان یک دیتاست موقت استفاده کنیم. امکان بارگذاری داده‌ها در یک دیتابیس درون حافظه‌ای SQLite و اجرای کوئری‌های مورد نظر وجود دارد. همچنین می‌توانید داده‌ها را در فرمتی که می‌خواهیم در اپلیکیشن نمایش یابد از این دیتابیس استخراج کنیم.اس کیو لایت یک روش آسان و کارآمد برای پردازش داده‌ها با استفاده از متغیرهای درون حافظه‌ای در اختیار شما قرار می‌دهد. برای نمونه زمانی که مشغول توسعه برنامه‌ای هستیم که محاسباتی را روی برخی رکوردها اجرا می‌کند، می‌توانیم یک دیتابیس SQLite ایجاد کرده و رکوردها را در آن درج کنیم و سپس تنها با یک کوئری رکوردها را انتخاب کرده و محاسبات مورد نظر خود را اجرا کنیم.زمانی که به یک سیستم دیتابیس برای یادگیری و آموزش نیاز داریم، SQLite گزینه مناسبی محسوب می‌شود. چنان که پیش‌تر اشاره کردیم، این دیتابیس هیچ نیازی به نصب و پیکربندی ندارد. کافی است کتابخانه SQLite را روی رایانه خود کپی کنیم تا شروع به یادگیری آن نماییم.دستورهای دیتابیس SQLiteدر SQLite، دستورهای dot (.) زیادی وجود دارد که با یک (؛) به پایان نمی‌رسند. برخی از دستورهای DDL و DMLدستورهای SQLite شبیه فناوری‌هایی مانند MySQL و Oracle است.ساخت جدول:CREATE TABLE STUDENT(ID INT PRIMARY KEY NOT NULL,NAME TEXT NOT NULL,AGE INT NOT NULL,ADDRESS CHAR(50),FEES REAL);دستور insert:INSERT INTO STUDENT (ID, NAME, AGE, ADDRESS, FEES)VALUES (1, 'Sunil', 28, 'Mumbai', 20000.00);حذف یک جدول:Drop Table Student;معایب و محدودیت های دیتابیس SQLiteفقط در جاهایی استفاده می‌شود که درخواست ترافیک کم تا متوسط ​​وجود داشته باشد.آس کیو ال لایت از بیشتر ویژگی‌های زبان استاندارد SQL92 پشتیبانی می‌کند؛ البته در این موتور بانک داده، تعدادی ناسازگاری و ویژگی‌های عجیب‌وغریب وجود دارد؛ موضوعی که درمورد سایر موتورهای بانک داده پیشرو SQL نیز صدق می‌کند. با این‌ اوصاف، برخی محدودیت‌های SQLite فقط در این پایگاه داده وجود دارد که بهتر است پیش از اقدام به استفاده از آن، نسبت به این محدودیت‌ها آگاهی داشته باشید.اس کیو ال لایت برخلاف پایگاه‌های داده‌ی پیشرفته‌ی دیگر، رویکرد ضعیفی برای مدیریت نوع داده دارد. این پایگاه داده، با درج مقادیر نامعتبر مخالفت نمی‌کند و بنابراین به‌عنوان مثال می‌توانید عبارت رشته‌ای «sqlite» را در یک ستون مخصوص اعداد صحیح درج کنید. انواع داده‌ها بسیار انعطاف‌پذیر و گاهی غیرقابل پیش‌بینی هستند، این ویژگی به‌خصوص هنگامی‌که از یک سیستم پایگاه داده دیگر به SQLite روی آورده باشید، بیشتر احساس خواهد شد.اس کیو ال لایت به‌طور کلی از برخی انواع داده‌ها پشتیبانی نمی‌کند؛ به‌عنوان مثال مقادیر Boolean یا DateTime در این بانک داده وجود ندارد و بنابراین به‌جای آن باید از متن یا مقدار صحیح استفاده کنید. اگر قصد داشته باشید از SQLite به یک پلتفرم دیگر مهاجرت کنید، چنین موانعی می‌تواند دردسرساز شود. امکان دارد پایگاه داده‌ی شما حاوی مقادیر SQL نامعتبری باشد که در سایر بانک‌های اطلاعاتی دیگر پذیرفته نمی‌شود.نتیجه‌گیری:اس کیو لایت یک موتور پایگاه داده سازگار با SQL است که همه‌ی داده‌ها را روی یک فایل فیزیکی ساده ذخیره می‌کند. برای استفاده از این بانک داده نیازی به سرور نخواهید داشت و بنابراین می‌توان SQLite را به‌طور مستقیم در برنامه‌ها کامپایل کرد. این پایگاه داده رایگان و منبع‌باز است و بنابراین برای استفاده از آن نیازی به صدور هیچ مجوزی نیست و علاوه‌بر این هزینه‌ای پرداخت نخواهید کرد.این پایگاه داده از منابع سخت‌افزاری بسیار کمی استفاده می‌کند و می‌توان در همه‌جا از آن بهره گرفت. توسعه‌دهندگان می‌توانند بدون اینکه کاربران متوجه حضور پایگاه داده شوند به‌آسانی از SQLite در پروژه‌های موردنظر خود استفاده کنند. اس کیو لایت به‌دلیل افزایش استفاده از گوشی‌های هوشمند و محصولات مرتبط با حوزه‌ی اینترنت اشیاء، رشد درخورتوجهی داشته است. پذیرش و آگاهی درمورد این سیستم ذخیره‌سازی داده باید گسترش یابد؛ زیرا این شرایط باعث افزایش میزان استفاده از آن خواهد شد. کلید موفقیت SQLite، سازگاری جهانی آن است و برای استفاده از آن کافی است کتابخانه‌ی بانک داده را وارد برنامه‌ی خود کنید. بدین ترتیب می‌توان بدون صرف وقت زیاد و با سرعت بالا، از قدرت SQL در برنامه‌های خود بهره ببرید.منابع:https://blog.shetabanhost.com/what-is-sqlite/https://www.google.com/amp/s/myempire.ir/what-is-sqlite/amp/https://fa.m.wikipedia.org/wiki/%D8%A7%D8%B3%E2%80%8C%DA%A9%DB%8C%D9%88%D8%A7%D9%84_%D9%84%D8%A7%DB%8C%D8%AAhttp://www.mehrtash-souri.ir/article/6/2/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-SQLiteنام و نام خانوادگی: زهرا اسماعیل ناظریشماره دانشجویی :982115287نام استاد : سرکار خانم مریم حاجی اسمعیلیدانشگاه آزاد تهران مرکزدرس:پایگاه داده