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

فهرست مطالب این نوشته
997696

داده‌ها را می‌توان جزو مؤلفه‌های اصلی اپلیکیشن‌های مورد استفاده در این روزها در نظر گرفت که به وفور استفاده می‌شوند. برای اینکه بتوانیم این‌گونه اطلاعات را نگه‌داری کرده و در مواقع لزوم از آن‌ها استفاده کنیم به‌طور معمول از پایگاه داده‌ها کمک می‌گیریم. رفته رفته با پیشرفت فناوری‌ها، پایگاه داده‌ها نیز پیشروی‌های خود را داشته‌اند. به‌طوری‌که در حال حاضر شاهد انواع پیشرفته‌ای از پایگاه‌ها هستیم که می‌توانند داده‌هایمان را به‌صورت ساختارمند یا بدون ساختار مدیریت کنند. از انواع پایگاه داده می‌توان به NoSQL، ابری، ستونی، شی‌گرا، کلید-مقدار، گراف، سلسله‌مراتبی و همچنین پایگاه داده رابطه‌ای اشاره کرد. برای اینکه بتوانیم این‌گونه داده‌های موجود در پایگاه داده را با تمام چالش‌هایی که دارند، مدیریت کنیم، از ابزارهایی معروف به سیستم‌های مدیریت پایگاه داده یا DBMS‌ استفاده می‌کنیم که ضمن سهولت در استفاده، به قدر کافی ایمن و قدرتمند باشند.

پایگاه داده و ابر - SQLite چیست

SQLite چیست؟

دیتابیس SQLite یکی از رایج‌ترین نرم‌افزارهایی است که برای مدیریت پایگاه داده رابطه‌ای می‌توانیم از آن استفاده کنیم. این سیستم مدیریت دیتابیس علاوه بر سادگی بالایی که دارد، توسط بسیاری از شرکت‌ها و سازمان‌های بزرگ نیز به‌کار گرفته شده است. همچنین به‌دلیل کاربرد آسان و سبک‌بودن می‌توان آن را برای اهداف گوناگون به‌کار برد.

SQLite یک سیستم مدیریت پایگاه داده یا دیتابیس است که در قالب کتابخانه‌ای سبک‌وزن به زبان C نوشته شده است. SQLite در سال ۲۰۰۰ میلادی توسط آقای «ریچارد هیپ» (Richard Hipp) طراحی و توسعه پیدا کرد. شما می‌توانید از قابلیت‌های SQLite در پروژه‌های شخصی و تجاری خود به‌طور رایگان بهره‌مند شوید. همچنین، خوب است بدانید که کدهای این نرم‌افزار نیز برای عموم کاربران قابل دسترسی است و می‌توانند آن را آزادانه و به هر نحو که مایل باشند کپی کنند، تغییر دهند، بفروشند یا توزیع کنند.

طبق تعریف سایت رسمی SQLite، این موتور پایگاه که سورس کد آن در قالب یک فایل ارائه شده است، به‌عنوان بخشی از برنامه شما اجرا می‌شود. یعنی مانند سایر سیستم‌های پایگاه داده، فرایند یا پردازش جداگانه‌ای ندارد.

داده‌های موجود در پایگاه داده SQLite در قالب یک فایل روی هارد ذخیره می‌شوند و اقداماتی مانند نوشتن و بازیابی داده‌ها از طریق همین فایل صورت می‌گیرد. SQLite به‌طور معمول به دنبال این است که قابلیت ذخیره‌سازی محلی را برای اپلیکیشن‌ها و دستگاه‌ها فراهم کند و دارای خصوصیاتی است که در ادامه فهرست کرده‌ایم.

  • سادگی و به‌کارگیری آسان
  • مستقل بودن
  • قابلیت اطمینان و مطمئن بودن از عملکرد آن
  • مقرون به صرفه بودن به‌کارگیری آن
  • بهره‌وری و داشتن راندمانی بهینه

در سمت دیگر، سیستم‌های پایگاه داده کلاینت-سِروری را داریم که سعی دارند تا منبعی از داده‌ها را به‌صورت اشتراکی فراهم کنند و ویژگی‌هایی همچون مقیاس‌پذیر بودن و افزایش قابلیت‌ها در صورت لزوم، هم‌ز‌مانی، متمرکز کردن منبع داده‌ای و امکان مدیریت داده‌ها را دارند. با توجه به همین دلایل می‌توان گفت که سیستم‌های مدیریت پایگاه داده کلاینت-سِروری نظیر MySQL، اوراکل، PostgreSQL و اس‌کیو‌ال سرور، رقیبی برای SQLite نیستند. این سیستم‌ها اهداف مختلفی را دنبال می‌کنند و به‌طور معمول آ‌ن‌ها را با هم مقایسه نمی‌کنند.

RDBMS‌-هایی مانند SQLite از دسته نرم‌افزارهای مدیریت دیتابیس‌های رابطه‌ای محسوب می‌شوند که به‌کمک آن‌ها خیلی ساده‌تر می‌توانیم از طریق کوئری زدن به داده‌های خود دسترسی پیدا کرده و آن‌ها را مدیریت کنیم. سیستم‌های RDBMS‌ بر اساس مدل رابطه‌ای داده‌ها ساخته شده‌اند که در سال ۱۹۷۰ میلادی توسط آقای «اِدگار کاد» پیشنهاد شد. این نوع برنامه‌های مدیریت دیتابیس که بیشترین موارد استفاده را در بین نرم‌افزارهای مدیریت پایگاه داده موجود دارند داده‌ها را در قالب جداول و روابط آن‌ها نگهداری می‌کنند. در این نوشتار علاوه بر آشنایی کلی، نقاط قوت و ضعف و کاربردهای SQLite را نیز بیان می‌کنیم.

دیسک های ذخیره سازی داده‌ ها - SQLite چیست

با توجه به استفاده گسترده و میلیاردی از SQLite، به‌نظر می‌رسد که این سیستم پایگاه داده معروف، جزو پرکاربردترین دیتابیس‌ها باشد. از مواردی که میزبان SQLite هستند می‌توان به موبایل‌های اندرویدی، آیفون و دستگاه‌های iOS، کامپیوترهای مک، ویندوز ۱۰، مرورگرهای وب فایرفاکس، کروم و سافاری، اسکایپ، آی‌تونز، دارپ‌باکس، PHP و پایتون، ست‌آپ باکس‌ها، سیستم‌های ضبط و پخش اتومبیل‌ها، و موارد بی‌شمار دیگر اشاره کرد.

تاریخچه SQLite چیست؟

جدولی که در ادامه آورده‌ایم تاریخچه‌ای بسیار خلاصه از پایگاه داده SQLite را نشان می‌دهد.

سال ۲۰۰۰ میلادی

 

طراحی پایگاه داده SQLite
ماه اوت سال ۲۰۰۰ میلادی عرضه نخستین نسخه از SQLite با مدیر پایگاه داده گنو
سال ۲۰۱۱ میلادی افزودن رابط UnQI به دیتابیس SQLite

اهمیت یادگیری و استفاده از SQLite چیست؟

در ادامه، اهمیت استفاده از SQLite را بیان کرده‌ایم.

  • با توجه به اینکه SQLite اپن سورس است، می‌توانید به رایگان از آن استفاده کنید و نیازی نیست تا به‌دنبال دریافت لایسنس سیستم پایگاه داده خود باشید.
  • همان‌طور که گفته شد SQLite به اصطلاح Serverless یا بی‌نیاز از سرور است و به‌کارگیری آن نیازی به فرایند سرور جداگانه‌ای علاوه بر فرایند خود برنامه اصلی ندارد.
  • SQLite سیستم پایگاه داده انعطاف‌پذیری است. از این بابت که به شما امکان می‌دهد تا در یک جلسه، به‌طور همزمان پایگاه داده‌های متعددی را مورد استفاده قرار دهید.
  • از دیگر خصوصیات SQLite می‌توان به چندپلتفرمی بودن آن اشاره کرد. این سیستم مدیریت پایگاه داده یا همان DBMS را می‌توانید در سیستم عامل دلخواه خود مانند ویندوز، macOS، اندروید و سایر سیستم عامل‌ها به‌کار ببرید.
  • SQLite به آسانی قابل راه‌اندازی و استفاده است و به پیکربندی، نصب یا مدیریت احتیاجی ندارد.
سیستم های ذخیره سازی متعدد - SQLite چیست

یادگیری پایگاه داده با فرادرس چگونه است؟

در صورتی‌که قصد یادگیری مهارت جدیدی مانند پایگاه داده SQLite را داشته باشید، راه‌های مختلفی برای این منظور پیشِ روی شما قرار دارد. به‌طور مثال، شرکت در کلاس‌های حضوری، حضور در دوره‌های آنلاین، دنبال کردن وب‌سایت‌‌های آموزشی و تماشای دوره‌های آموزشی در پلتفرم‌هایی نظیر یوتیوب، مطالعه کتب آموزشی و غیره جزو این روش‌ها محسوب می‌شوند. هر یک از این روش‌ها مزایا و معایب خود را دارند و برخی شیوه‌ها نظیر مطالعه کتب آموزشی به علت ناکارآمدی در دنیای دیجیتالی کنونی کنار گذاشته شده‌اند. در این میان، تماشای فیلم‌های آموزشی یکی از شیوه‌های مدرن و مؤثر در یادگیری مهارت‌های جدید به‌شمار می‌روند و فارغ از اینکه موقعیت جغرافیایی شما کجاست، چه ساعاتی می‌خواهید از آموزش‌ها استفاده کنید و سایر شرایطی که دارید این آموزش‌ها شما را در مسیر یادگیری مهارت مورد نظرتان تنها نمی‌گذارند.

فرادرس به‌عنوان یکی از بهترین پلتفرم‌های آموزشی کشور، فیلم‌های آموزشی گوناگونی را برای مهارت‌های مختلف، منتشر کرده است. در ادامه، فیلم‌های آموزش مقدماتی تا پیشرفته پایگاه داده از فرادرس را آورده‌ایم. این فیلم‌های آموزشی، مباحث تئوری و دانشگاهی مربوط به پایگاه‌های داده و بیشتر سیستم‌های مدیریت پایگاه داده را شامل می‌شود که بسته به اهداف خود می‌توانید مورد دلخواه را مشاهده کنید.

مجموعه فیلم‌های آموزش پایگاه داده مقدماتی تا پیشرفته از فرادرس
برای مشاهده فیلم‌های آموزش پایگاه داده، مقدماتی تا پیشرفته از فرادرس، روی تصویر کلیک کنید.

در ادامه، عناوین فیلم‌های آموزش SQLite از فرادرس را آورده‌ایم.

  • فیلم آموزش پایگاه داده SQLite در پایتون از فرادرس پس از معرفی و آشنایی اولیه با SQLite و دستورات اصلی، مباحثی نظیر ایجاد پایگاه داده، جدول و درج داده، جست و جو، به‌روزرسانی و حذف داده، کلیدها، تابع و دیتافریم و غیره را به شما یاد می‌دهد.
  • فیلم آموزش پایگاه داده SQLite در سی‌شارپ‎ از فرادرس به شما می‌آموزد تا پایگاه داده سبک SQLite را در سی‌شارپ مورد استفاده قرار دهید. از جمله مفاهیم مورد بررسی در این فیلم آموزشی می‌توان به نحوه ساخت پایگاه داده، جدول، عملیات مربوط به آن و پیاده‌سازی پروژه و غیره اشاره کرد.

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

چه زمانی از SQLite استفاده کنیم؟

اهمیت استفاده از سیستم پایگاه داده SQLite در پروژه را در ادامه، فهرست کرده‌ایم.

  • اگر بخواهید برای دستگاه‌هایی همچون گوشی‌های موبایل، دوربین‌ها، ساعت‌های هوشمند، تلویزیون‌ها و غیره، نرم‌افزاری را ایجاد کنید، در این صورت، پایگاه داده SQLite یکی از بهترین گزینه‌های پیش روی شما خواهد بود. SQLite به‌دلیل سادگی در راه‌اندازی و نداشتن فرایند پیکربندی باعث می‌شود تا با ماهیت این گونه دستگاه به‌طور کامل متناسب باشد.
  • با توجه به اینکه SQLite می‌تواند درخواست‌های HTTP و بارهای ترافیکی کم تا متوسط شبکه را مدیریت کنید، می‌توانید برای وب‌اپلیکیشن‌ها و وب‌سایت‌های معمولی خود آن را مورد استفاده قرار دهید و از قابلیت‌‌های آن بهره‌مند شوید.
  • یکی از قابلیت‌های SQLite این است که می‌تواند از فایل‌های شما، آرشیو‌هایی سبک‌تر بسازد که متادیتای کمتری هم دارند. بدین‌ترتیب از فضای ذخیره‌سازی به‌شکل بهینه‌تری استفاده می‌شود.
  • ممکن است اپلیکیشن شما نیاز داشته باشد تا برخی اطلاعات داخلی خود را پردازش کند در آن صورت می‌توانید از SQLite با توجه به خصوصیاتی که دارد، به‌عنوان نگهدارنده این‌گونه داده‌های موقتی استفاده کنید.
  • یکی دیگر از خصوصیات SQLite این است که به‌دلیل نداشتن راه‌اندازی و پیکربندی مشکل، گزینه مناسبی برای افراد مبتدی محسوب می‌شود تا با استفاده از آن پایگاه داده را یاد بگیرند.

خصوصیات SQLite چیست؟

در ادامه، برخی از ویژگی‌های SQLite به‌عنوان یک از پرکاربردترین سیستم‌های مدیریت پایگاه داده در دنیا را آورده‌ایم.

مستقل

وقتی می‌گوییم که SQLite «مستقل» (Self-Contained) است، منظورمان این است که این سیستم مدیریت پایگاه داده از سایر کتابخانه‌ها یا ابزارها استفاده نمی‌کند و به اصطلاح، وابستگی‌های کمی دارد. به‌همین دلیل می‌تواند روی بیشتر سیستم عامل‌ها و حتی سیستم عامل‌‌های موجود روی دستگاه‌های مرتبط با اینترنت اشیا و غیره نیز به‌خوبی اجرا شود.

دیسک‌های داده روی هم - SQLite چیست

بی‌نیاز از سرور

SQLite بر خلاف برخی دیگر سیستم‌های مدیریت پایگاه داده، بدون هیچ‌گونه فرایند واسطه‌ای با فایل‌های داده که روی کامپیوتر ذخیره شده‌اند ارتباط برقرار کرده و عملیات خواندن و نوشتن داده‌ها را انجام می‌دهد. در سیستم‌های پایگاه داده دیگر که به‌صورت فرایندی مجزا اجرا می‌شوند، نیاز است تا درخواست خود را با یک‌سری ساز و کارها به سرور ارسال کرده و پاسخ مربوطه را دریافت کنید. بدین ترتیب، می‌توانیم گفت که SQLite یک نرم‌افزار پایگاه داده «بی‌نیاز از سرور» (Serverless) است. به‌طوری‌که اپلیکیشن‌های مختلف می‌توانند به‌صورت همزمان از داده‌های آن استفاده کنند.

بی نیاز از پیکربندی

از دلایلی که باعث می‌شود تا SQLite را نرم‌افزاری «بی‌نیاز از پیکربندی» (Zero-Configuration) برای پایگاه داده بدانیم، می‌توان به موارد زیر اشاره کرد.

  • به دلیل عدم وجود فرایند سروری جداگانه، با عملیاتی مانند راه‌اندازی، توقف و غیره مرتبط با آن سر و کار نخواهید داشت.
  • در SQLite، فرایند Setup وجود ندارد و برای به‌کارگیری این سیستم مدیریت پایگاه داده، لازم نیست تا آن را نصب کنید.
  • SQLite فاقد فایل تنظیمات یا پیکربندی است.
  • در صورت بروز خرابی در سیستم پایگاه داده، نیازی نیست برای بازیابی داده‌ها کاری انجام دهید.

تراکنشی

«تراکنشی» (Transactional) بودن یک پایگاه داده مانند SQLite به ما می‌گوید که کوئری‌های انجام شده در پایگاه داده و تغییراتی که روی داده‌ها صورت می‌گیرد با اصول ACID هماهنگ هستند. ACID به‌طور خلاصه بیان‌گر مواردی است که در زیر بیان کرده‌ایم.

  • Atomic: تجزیه‌ناپذیری تراکنش‌ها به‌زبان ساده یعنی اینکه یک تراکنش در پایگاه داده یا به‌صورت کامل و با موفقیت انجام می‌شود یا اینکه – در صورت بروز مشکل – لغو می‌‌شود و پایگاه داده به حالت قبلی خود بر می‌گردد.
  • Consistent: هنگامی‌که تراکنشی انجام یا لغو می‌شود، وضعیت پایگاه داده می‌بایست ثبات و سازگاری خود را حفظ کند. به‌طور مثال، نباید شاهد تغییرات ناقص باشیم.
  • Isolated: تراکنش‌های پایگاه داده ممکن است به‌صورت هم‌زمان اجرا شوند. در این حالت، تراکنش‌‌ها می‌بایست ایزوله باشند تا این هم‌زمانی باعث نشود که روی همدیگر تأثیر بگذارند.
  • Durable: دوام داشتن تراکنش‌‌ها در پایگاه داده یعنی اثر تراکنش‌هایی که با موفقیت انجام شده‌اند، با خرابی‌ها از بین نرود. این‌گونه موارد در گزارش تراکنش‌های پایگاه داده ثبت می‌شود.

پایگاه داده‌ای که با SQLite می‌سازید در قالب یک فایل روی دستگاه ذخیره‌سازی شما مانند هارد کامپیوتر قرار می‌گیرد و عملیات بازیابی و درج داده‌‌ها نیز به‌طور مستقیم روی همین فایل صورت می‌گیرد.

کاربردهای SQLite چیست؟

در ادامه به موقعیت‌هایی اشاره کرده‌ایم که به‌کارگیری SQLite در آن‌ها می‌تواند مؤثر باشد و عملکرد قابل قبولی را از خود به نمایش بگذارد.

  • حوزه اینترنت اشیا و نرم‌افزارهای داخلی
  • فایل‌های مربوط به اپلیکیشن‌ها
  • وب‌سایت‌ها
  • تحلیل داده‌ها
  • نهان‌سازی داده‌‌های سازمانی
  • پایگاه‌داده سمت سرور
  • فرمت انتقال داده‌ها
  • بایگانی کردن فایل‌ها
  • پایگاه‌داده‌های موقتی
  • موارد آموزشی و افزایش مهارت
دیتابیس نقره‌ای رنگ

جدیدترین نسخه سیستم پایگاه داده SQLite در قالب کتابخانه‌ای با حجم بسیار کم و در حد چندین مگابایت عرضه شده است. به‌همین دلیل برای استفاده در وسایلی که دغدغه حافظه را دارند، گزینه خوبی محسوب می‌شود. SQLite به دلیل پیچیدگی کمی که برای راه‌اندازی دارد، برای اهداف آموزشی نیز می‌تواند مورد آزمایش و استفاده قرار گیرد. این ابزار مدیریتی پایگاه داده می‌تواند همراه با سیستم‌های کلاینت-سروری به‌کار گرفته شود. یعنی می‌توان از آن برای نهان‌سازی یا کش کردن داده‌های سیستم‌های کلاینت-سروری در سمت کلاینت استفاده کرد تا از این طریق ضمن افزایش سرعت کوئری‌ها، تحمل خطای سیستم در مواقع از دست رفتن پایگاه داده سروری نیز بیشتر شود.

فرمت فایل مربوط به اپلیکیشن‌ ها

یکی از موارد استفاده SQLite به‌کارگیری آن برای ذخیره فایل‌های مربوط به برنامه‌هایی مانند سیستم‌های کنترل نسخه، ابزارهای تحلیل مالی و غیره روی هارد است. در اینجا شاهد مزیت‌‌های مهمی مانند بهبود بهره‌وری، کاهش هزینه‌ها و پیچیدگی و سایر مزایا از این سیستم خواهیم بود.

تحلیل داده ها

اگر شما هم جزو کسانی هستید که دانش کوئری‌نویسی با زبان SQL را دارید، می‌توانید با به‌کاربردن SQLite مجموعه داده‌های خود را تحلیل کنید. برای این منظور می‌توانید از ابزار خط فرمان sqlite 3 یا سایر برنامه‌هایی که امکان دسترسی به این سیستم دیتابیس را فراهم کرده‌اند، استفاده کنید. درست است که این کاربرد به SQLite محدود نمی‌شود و پایگاه‌داده‌های کلاینت-سروری نیز در این زمینه قابل استفاده هستند اما به دلیل ساده بودن راه‌اندازی و کار با SQLite و راحت‌تر بودن اشتراک‌گذاری فایل تکی خروجی که ارائه می‌دهد، این سیستم دیتابیس می‌تواند یکی از گزینه‌های خوب پیش روی شما باشد. با وارد کردن مجموعه‌داده‌ها از فایل CSV و تجزیه داده‌ها می‌توانید انواع گزارش‌ها را داشته باشید. همچنین می‌توانید با بهره‌گیری از زبان‌های برنامه‌نویسی پایتون و R و غیره که به‌صورت داخلی یا از طریق رابط‌ها از SQLite پشتیبانی می‌کنند و اجرای اسکریپت‌هایی که به این زبان‌‌ها نوشته شده‌اند، تحلیل‌های پیچیده‌تری را روی داده‌های خود انجام دهید. این تحلیل‌ها می‌توانند در موضوعات مختلف مانند تحلیل آمارهای ورزشی، تحلیل گزارش‌ها یا لاگ‌های مربوط به وب‌سایت، تحلیل داده‌های مالی و غیره باشند.

حوزه اینترنت اشیا و نرم‌افزارهای داخلی

SQLite می‌تواند در لبه شبکه و دستگاه‌ها نیز بسیار خوب و مؤثر کار کند و نقش بسیار پررنگی داشته باشد. این سیستم همچنین می‌تواند مانند سیستم‌های پایگاه داده کلاینت-سروری در دیتاسنتر‌ها و با پشتیانی افراد متخصص نیز فعالیت کند و به‌طور کلی خدمات مرتبط با داده‌ها را با سرعت و اطمینان مناسبی ارائه دهد.

سیستم مدیریت پایگاه داده SQLite یکی از بهترین گزینه‌ها برای استفاده در اینترنت اشیا و مواردی مانند نرم‌افزارهای داخلی دوربین‌ها، ربات‌ها، گوشی‌های موبایل، حسگرها، دستگاه‌‌های پزشکی، کنسول‌های بازی، ساعت‌ها، لوازم آشپزخانه، اتومبیل‌ها، هواپیماها، پهبادها و غیره محسوب می‌شود. این مورد به دلیل این است که سیستم پایگاه داده SQLite به مدیریت و افراد متخصص نیازی ندارد بنابراین گزینه خوبی برای استفاده در دستگاه‌های گفته شده به‌شمار می‌رود.

استفاده در وب سایت ها

بیشتر وب‌سایت‌هایی که در حال حاضر مشاهده می‌کنید از دیتابیس استفاده می‌کنند و شما می‌توانید SQLite را به‌عنوان دیتابیس وب‌سایت خود به‌کار ببرید. اگر میزان استفاده وب‌سایت شما از دیتابیس و ترافیک انتقالی وب‌سایت کم تا متوسط باشد یا به زبان ساده پذیرای کمتر از ۱۰۰ هزار بازدید روزانه باشد، SQLite می‌تواند عملکرد خوبی داشته باشد. البته این مقدار، حدودی است و تا مقادیر بسیار بالاتر هم این سیستم مدیریت پایگاه داده می‌تواند پاسخ‌گویی قابل قبولی را در این رابطه ارائه دهد.

برای کَش کردن داده ها

از SQLite می‌توان با هدف کش کردن داده‌های مرتبط از یک سیستم مدیریت پایگاه داده رابطه‌ای بزرگ استفاده کرد. این کار چندین مزیت دارد که در ادامه بیان کرده‌ایم.

  • نخست اینکه میزان تأخیر کاهش پیدا می‌کند. به این دلیل که داده‌ها به‌جای DMBS اصلی، از کش یا همان دیتابیس محلی SQLite بازیابی می‌شوند و ارتباطات شبکه‌ای نیز کاهش پیدا می‌کند.
  • مورد بعدی اینکه میزان ترافیک شبکه و دیتابیس اصلی کمتر می‌شود.
  • همچنین با توجه به محلی بودن SQLite، در صورتی‌که در ارتباطات شبکه اختلالی ایجاد شود، برنامه سمت کلاینت به احتمال قوی بدون مشکل به کار خود ادامه خواهد داد.
پایگاه داده ابری - SQLite چیست

پایگاه داده سمت سرور

از SQlite همچنین به‌عنوان دیتابیس اپلیکیشن سمت سرور روی دیتاسنتر نیز استفاده شده است. در این حالت با اینکه سیستم هنوز به‌صورت کلاینت-سروری است اما کوئری‌ها به‌جای SQ‌L، به‌شکل سطح بالا ارسال شده و پاسخ متناظر با آن نیز به همین ترتیب دریافت می‌شود. در واقع، سرور درخواست را به کوئری‌‌های SQL تبدیل کرده و پس از جمع‌آوری نتایج، پردازش، فیلتر کردن و سایر مراحل، اطلاعات لازم را به‌عنوان پاسخی سطح بالا بر می‌گرداند. در این حالت، گویا SQLite عملکرد سریع‌تری را نسبت به سیستم‌های پایگاه‌داده کلاینت-سروری SQL از خود نشان می‌دهد.

چه شرکت هایی از SQLite استفاده می کنند؟

سیستم مدیریت پایگاه داده SQLite به‌عنوان یکی از رایج‌ترین و پرکاربردترین نرم‌افزارهای مدیریت دیتابیس توسط شرکت‌های بزرگ و شناخته‌شده‌ای مورد استفاده قرار گرفته است که برخی از آن‌ها را در ادامه معرفی کرده‌ایم.

  • شرکت ادوبی: کمپانی Adobe از نرم‌افزار پایگاه داده SQLite در «Adobe AIR» ،«Acrobat Reader» و همچنین به منظور فایل‌های اپلیکیشن فتوشاپ لایتروم استفاده کرده است.
  • شرکت ایرباس: طبق اعلام شرکت Airbus، سیستم SQLite در نرم‌افزار پرواز مجموعه هواپیماهای A350 XWB این شرکت بزرگ هواپیماسازی استفاده شده است.
  • شرکت اپل: این شرکت در بسیاری از محصولات نرم‌افزاری خود و برنامه‌های سیستم عامل Mac OS-X در سرور‌ها و کامپیوتر‌های شخصی و همچنین اپلیکیشن‌های iOS در دستگاه‌هایی نظیر آیفون و غیره از سیستم مدیریت دیتابیس SQLite استفاده می‌کند.
  • شرکت بوش: این شرکت در سیستم‌های مالتی‌مدیای مورد استفاده در خودروهایی نظیر سوزوکی، نیسان و غیره، SQLite را به‌کار می‌برد.
  • دراپ‌باکس: Dropbox یک سرویس میزبانی و ذخیره‌سازی انواع فایل‌ها به‌صورت ابری است که امکانات گوناگونی را در اختیارمان قرار می‌دهد. به‌طور مثال می‌توانیم از دستگاه‌‌های گوناگون به فایل‌‌هایمان دسترسی داشته باشیم و غیره. این سرویس نیز برای دیتابیس سمت کلاینت از SQLite استفاده می‌کند.
  • فیسبوک: ابزار osquery از این شرکت نیز SQLite را به‌عنوان سیستم پایگاه داده خود برگزیده است.
  • گوگل: این غول فناوری نیز در محصولاتی نظیر گوگل‌کروم و همچنین سیستم عامل اندروید خود از قابلیت‌‌های SQLite بهره‌مند شده است.
  • مکافی: این شرکت نرم‌افزاری معروف در حوزه ساخت راهکارهای امنیت کامپیوتری در آنتی‌ویروس‌های خود از SQLite استفاده کرده است.
  • مایکروسافت: سیستم عامل مایکروسافت ویندوز ۱۰ و برخی دیگر از محصولات این کمپانی از SQLite استفاده کرده‌اند.
  • موزیلا: متادیتا‌ها در مروگر وب فایرفاکس و محصول Thunderbird Email Reader این شرکت از SQLite استفاده برای مدیریت داده‌ها کرده‌اند.
  • php: زبان طراحی سایت بسیار معروف PHP هم به‌صورت پیش‌فرض از SQLite پشتیبانی می‌کند.
  • پایتون: SQLite در نسخه‌های مختلف زبان برنامه‌نویسی پرطرفدار Python هم وجود دارد.
  • اسکایپ: کلاینت‌های این برنامه نیز به احتمال قوی از SQLite استفاده می‌کنند.
دیتاسنترها و پرهای آبی‌رنگ - SQLite چیست

نحوه نصب SQLite روی ویندوز چگونه است؟

در این قسمت می‌خواهیم نحوه دانلود SQLite و همچنین نصب این سیستم مدیریت پایگاه داده را به شما یاد بدهیم.

برای این منظور کافی است که مراحل زیر را دنبال کنید.

گام اول: به وب‌سایت پایگاه داده SQLite رفته و فایل مربوط به سیستم خود را دانلود کنید. برای دانلود سیستم مدیریت پایگاه داده رابطه‌ای SQLite با توجه به پلتفرم مورد نظر همچون ویندوز، لینوکس، مک، اندروید و غیره می‌توانید از لینک آورده شده در ادامه استفاده کنید.

  • آدرس صفحه دانلود در وب‌سایت SQLite : «+»

در این صفحه، به فایل‌های باینری قابل اجرا روی سیستم عامل‌های مختلف علاوه بر ویندوز، که از قبل کامپایل شده‌اند نیز دسترسی خواهید داشت. منظور، سیستم عامل‌هایی نظیر اندروید، Mac OS X، لینوکس و غیره است. از قسمت «Precompiled Binaries for Windows»، فایل sqlite-dll-win-x64-3460000.zip

را دانلود کنید که حجمی در حدود یک مگابایت دارد.

 

«صفحه دانلود پایگاه داده SQLite» – «برای مشاهده تصویر در اندازه اصلی، روی آن کلیک کنید».

گام دوم: فایل sqlite-tools-win-x64-3460000.zip

را نیز از همین قسمت دانلود کنید. سپس این فایل‌ها را به فولدر دلخواه خود منتقل کرده و اکسترکت کنید.

گام سوم: به درایو C

رفته و فولدری با نام sqlite

در آن بسازید. سپس فایل sqlite3.exe

که پیش از این دانلود کردید را به آن منتقل کنید.

گام چهارم: حالا می‌بایست فایل sqlite3.exe

را باز کنید. روش دیگر این است که وارد خط فرمان یا CMD شوید و به مسیر C:sqlite

 بروید. سپس sqlite3

را نوشته و کلید Enter را از روی کیبرد بفشارید. در هر صورت پنجره‌ای مانند آنچه در تصویر زیر مشاهده می‌کنید برایتان باز می‌شود.

خط فرمان و اجرای sqlite

با انجام این کار، SQLite آماده استفاده شده است و می‌توانید از دستورات این پایگاه داده استفاده کنید. در ادامه برخی از مهم‌ترین دستورات SQLite را به شما یاد می‌دهیم.

در یکی از مطالب پیشین مجله فرادرس، نحوه فعال‌سازی SQLite3 در محیط «زمپ» (XAMPP) را توضیح داده‌ایم که مطالعه آن می‌تواند برایتان مفید باشد.

راهنمای دستورات SQLite

حال که توانستید SQLite را روی سیستم خود دانلود و نصب کنید می‌توانید استفاده از آن را با نوشتن دستورات مربوطه شروع کنید.

در این قسمت برخی از دستورات پایه‌ای SQLite را آورده‌ایم.

پَر آبی‌رنگ بزرگ و پایگاه های داده

دستور ساخت جدول یا CREATE TABLE در SQLite چیست؟

در SQLite برای اینکه بتوانیم جدول جدیدی را برای داده‌هایمان ایجاد کنیم از دستور CREATE TABLE

استفاده می‌کنیم. نکته‌ای که می‌بایست یادتان باشد این است که نام جدول، ستون‌ها و نوع داده ستون‌ها در این مرحله تعیین می‌شوند. در ادامه سینتکس ساخت جدول در SQLite را آورده‌ایم.

1CREATE TABLE database_name.table_name(  
2   col datatype  PRIMARY KEY(one or more columns),  
3   col datatype,
4   ... 
5   col datatype,  
6);

برای اینکه درک بهتری نسبت به این موضوع پیدا کنید یک مثال می‌زنیم.

فرض کنید که می‌خواهیم جدولی به‌نام student

 بسازیم که دارای ۶ ستون شامل موارد آورده شده در زیر باشد.

  • stu_Id

    شامل شماره دانشجویی از نوع int

    است و کلید اصلی جدول محسوب می‌شود.

  • stu_name

     بیان‌گر نام دانشجو و از نوع varchar(25)

    است.

  • Age

    که شامل سن دانشجو و از نوع int

     است.

  • Gender

    بیان‌گر جنسیت دانشجو و از نوع char(1)

    است.

  • Doa

    که تاریخ ورودی دانشجو را نشان می‌دهد و از نوع date

    تعریف می‌شود.

  • Address

    که بیان‌گر آدرس دانشجو است و با نوع varchar(20)

    تعریف می‌شود.

ناحیه مشخص شده با رنگ زرد که در تصویر زیر آورده شده، مثال دستور ساخت جدول را با ستون‌های تعیین شده نشان می‌دهد.

دستور ساخت جدول

برای اینکه از ساخت جدول مطمئن شوید کافی است تا از عبارت .tables

استفاده کنید. فلش قرمزرنگ این مورد را نشان می‌دهد. همچنین، فلش آبی‌رنگ، فهرست جدول‌های ساخته شده توسط شما یعنی student

را نشان می‌دهد.

دستور درج یا INSERT در SQLite چیست؟

در پایگاه داده رابطه‌ای، داده‌های جدید را در قالب «سطرها» یا همان «رکوردهای» جدید به جدول‌ها اضافه می‌کنیم. در SQLite برای افزودن اطلاعات و سطرهای جدید از دستور INSERT INTO

استفاده می‌شود.

سینتکس این دستور را در زیر آورده‌ایم.

1INSERT INTO Table_name (col1, col2, ...,col n)
2VALUES (value1, value2, value3,...,values n);

برای درک بهتر می‌خواهیم سطری جدید به جدول student

اضافه کنیم. در محیط SQLite، دستور گفته شده را به‌شکل زیر اجرا می‌کنیم.

insert into students values
(101, 'pouria', 33, 'M', '2010-11-23', 'Pune'),
(102, 'Nilesh', 19, 'M', '2016-11-23', 'New York');

در این کوئری ۲ سطر با پارامترهای مشخص شده را به جدول خود اضافه کرده‌ایم. برای اینکه جدول را مشاهده کنید کافی است تا از دستور SELECT

به‌شکل زیر استفاده کنید.

این دستور، اطلاعات خواسته شده را از جدول مورد نظر بیرون می‌کشد. خروجی آن نیز به‌صورت زیر خواهد بود.

101|pouria|33|M|2010-11-23|Pune
102|Nilesh|19|M|2016-11-23|New York

دستور به روز رسانی یا UPDATE در SQLite چیست؟

گاهی اوقات لازم است تا اطلاعات و رکوردهای فعلی در جدول‌های پایگاه داده را تغییر دهیم یا ویرایش کنیم. در این صورت لازم است تا از دستور UPDATE

به ‌صورتی‌که در ادامه گفته شده استفاده کنیم.

1UPDATE table_name  
2SET column1 = value1, column2 = value2...., columnN = valueN  
3WHERE [condition]; 

با استفاده از دستور WHERE

 می‌توانیم سطرهای مشخصی را انتخاب کنیم که از شرایط خاصی پیروی می‌کنند. در صورتی‌که از این دستور استفاده نکنیم، تمامی رکوردها برای تغییر انتخاب می‌شوند. کوئری زیر را در نظر بگیرید.

1update students
2set stu_name = 'ali'
3where stu_Id = 102;

در این خطوط می‌گوییم که قصد به‌روز‌رسانی جدول students

 را داریم. سپس می‌گوییم که فیلد نام دانشجو یا stu_name

را با مقدار جدید ali

جایگزین کند. سپس مشخص می‌کنیم که این به‌روزرسانی تنها برای رکوردی انجام شود که شماره دانشجویی یا stu_Id

مربوط به آن برابر با مقدار 102

است.

داده‌های اطراف پایگاه داده - SQLite چیست

دستور حذف یا DELETE در SQLite چیست؟

در صورتی‌‌که قصد حذف برخی از رکورد‌های جدول خود را داشته باشید می‌توانید از دستور DELETE

با سینتکس زیر استفاده کنید.

1DELETE FROM table_name  
2WHERE [conditions];

برای مثال فرض کنید که می‌خواهید رکورد دانشجویی با شما دانشجویی 101

را حذف کنید. برای این منظور کوئری خود را به‌شکل زیر نوشته و اجرا کنید.

delete from students
where stu_Id = 101;

دستور WHERE در SQLite چیست؟

تا اینجای کار چندین مرتبه دستور WHERE

را به‌کار برده‌اید. این دستور در واقع شرطی را برای انتخاب رکوردها اعمل می‌کند و در صورت عدم استفاده، کل رکوردها انتخاب می‌شوند. سینتکس دستور WHERE

به‌صورت زیر است.

1SELECT column1, column2,.... columnN   
2FROM table_name  
3WHERE [condition]  

برای درک بهتر به مثال زیر توجه کنید.

1SELECT *
2FROM students
3WHERE stu_name = 'ali';

با اجرای این دستور آن دسته از رکوردهایی برای نمایش در خروجی انتخاب می‌شوند که ویژگی «نام دانشجو» ( stu_name

 ) در آن‌‌ها برابر با ali

باشد.

دستور AND در SQLite چیست؟

گاهی اوقات پیش می‌آید که قصد انجام چندین مقایسه درون یک دستور SQL را داشته باشید. در این صورت می‌توانید از عملگر ترکیبی AND

به‌شکل زیر استفاده کنید.

1SELECT column1, column2, columnN   
2FROM table_name  
3WHERE [condition1] AND [condition2]...AND [conditionN];

شما می‌توانید به هر تعداد که بخواهید شرط تعیین کنید و بین آن‌ها از AND

استفاده کنید.

فرض کنید که می‌خواهیم تمامی رکوردهایی با نام ali

که سن آن‌ها زیر ۳۰ سال است را بازیابی کنیم. برای این منظور کافی است تا یک کوئری شبیه به آنچه که در ادامه آورده شده را بنویسیم.

1SELECT * FROM students
2WHERE stu_name = 'ali' AND Age < 30;

دستور گروه‌بندی یا GROUP BY در SQLite چیست؟

گاهی اوقات نیاز است تا اطلاعات جدول را بر اساس ستون‌های خاصی گروه‌بندی کنید. در این‌گونه مواقع از دستور گروه‌بندی یا GROUP BY

استفاده می‌شود که سینتکس آن را در ادامه آورد‌ه‌ایم.

1SELECT column-list  
2FROM table_name  
3WHERE [ conditions ]  
4GROUP BY column1, column2....columnN  
5ORDER BY column1, column2....columnN

برای درک بهتر یک مثال می‌زنیم. فرض کنید که می‌خواهیم دانشجویان را بر اساس تاریخ ثبت‌نام و ورود آن‌ها به دانشگاه گروه‌بندی کنیم. در این‌صورت به شکل زیر عمل می‌کنیم.

1SELECT doa, COUNT(stu_Id) 
2FROM students
3GROUP BY doa;

خروجی این کد برابر با 2016-11-23|1

خواهد بود. با توجه به اینکه تنها یک رکورد داریم، یک تاریخ یا doa

 را به ما نشان می‌دهد. همچنین، در این تاریخ پذیرش، تنها یک نفر را پیدا کرده است.

قطعه سنگ و پایگاه داده - SQLite چیست

دستور HAVING در SQLite چیست؟

با استفاده از این دستور می‌توانید شرط خاصی را برا نمایش خروجی در نظر بگیرید و به‌طور کلی همراه با توابع تجمیعی – نظیر MIN ،MAX ،COUNT،SUM و AVG – مورد استفاده قرار می‌گیرد.

سینتکس این دستور را در ادامه آورده‌ایم.

1SELECT column1, column2  
2FROM table1, table2  
3WHERE [ conditions ]  
4GROUP BY column1, column2  
5HAVING [ conditions ]  
6ORDER BY column1, column2

برای درک بهتر کوئری زیر را در نظر بگیرید.

1SELECT count(stu_Id), Address
2FROM students
3GROUP BY Address
4HAVING count(stu_Id) <3;

در این کوئری، آدرس و تعداد شماره‌های دانشجویی دارای آن آدرس، با توجه به جدول دانشجویان محاسبه می‌شود. سپس نتایج بر اساس آدرس مشابه گروه‌بندی می‌شود. در نهایت، مواردی که تعداد شماره دانشجویی آن‌ها ۲ و کمتر از آن باشد نشان داده می‌شود.

1|New York
2|Pune

دستور مرتب سازی ORDER BY در SQLite چیست؟

با استفاده از این دستور می‌توانید خروجی را بر اساس یک یا چند ستون مرتب کرده و نشان دهید. سینتکس این دستور را در ادامه آورده‌ایم.

1SELECT column-list   
2FROM table_name   
3[WHERE condition]   
4[ORDER BY column1, column2, .. columnN] [ASC | DESC]; 

برای درک بهتر یک مثال می‌زنیم. فرض کنید که می‌خواهیم جدول خود را بر اساس ستون شماره دانشجو و با ترتیب نزولی مرتب کنیم. کوئری زیر این کار را انجام می‌دهد.

1SELECT * FROM students
2ORDER BY stu_Id DESC;

در نهایت اطلاعات ما بر اساس شماره دانشجویی و به‌صورت نزولی مرتب می‌شود.

121|pouria|33|M|2010-11-23|Pune
102|ali|19|M|2016-11-23|New York

در ادامه برخی از توابع تجمیعی را بررسی می‌کنیم.

نوجوان خوشحال از یادگیری پایگاه داده - SQLite چیست

تابع کمینه مقدار یا MIN در SQLite چیست؟

با استفاده از این تابع می‌توانیم کمترین مقدار یک عبارت را به‌دست بیاوریم. سینتکس آن به شکل زیر است.

1SELECT MIN(aggregate_expression)  
2FROM tables  
3[WHERE conditions];

برای درک بهتر، کوئری زیر را در نظر بگیرید.

1SELECT MIN(age) FROM students;

خروجی این کوئری کمترین مقدار در ستون age

است که مقدار 19 را بر می‌گرداند.

تابع بیشینه مقدار یا MAX در SQLite چیست؟

اگر بخواهید که بیشینه مقدار یک عبارت را به دست بیاورید می‌توانید از تابع MAX استفاده کنید. سینتکس این تابع را در زیر آورده‌ایم.

1SELECT MAX(aggregate_expression)  FROM tables  [WHERE conditions];  

مشابه تابع قبلی می‌توانیم یک کوئری به شکل زیر روی جدول دانشجویان خود داشته باشیم.

1SELECT Max(age) FROM students;

با اجرای این کوئری مقدار 33 در خروجی نشان داده می‌شود.

تابع مقدار میانگین یا AVG در SQLite چیست؟

با استفاده از تابع AVG، میانگین مقادیر یک ستون عددی را می‌توانیم داشته باشیم. سینتکس آن را در ادامه مشاهده می‌کنید.

1SELECT AVG(aggregate_expression)  FROM tables  [WHERE conditions];

شما می‌توانید این تابع را بر روی جدول خود تست کنید تا میانگین ستون سن را به‌دست بیاورید.

1SELECT AVG(age) FROM students;

در این صورت مقداری برابر با 28.3333333333333

 در خروجی نشان داده می‌شود.

تابع مجموع یا SUM در SQLite چیست؟

در صورتی‌که قصد محاسبه مجموع مقادیر یک ستون عددی در جدول داده‌های خود را داشته باشید می‌توانید از تابع SUM

با سینتکس زیر استفاده کنید.

1SELECT SUM(aggregate_expression)  FROM tables  [WHERE conditions];  

فرض کنید که بخواهیم مجموع مقادیر ستون سن را در جدول دانشجویان محاسبه کنیم.

1SELECT sum(age) FROM students;

با اجرای این کوئری مقدار 85 برگردانده می‌شود که مجموع مقادیر سه کورد موجود در جدول ما است.

دیتاسنتر و پَر آبی‌رنگ

نحوه استفاده از SQLite در پایتون چگونه است؟

برای اینکه بتوانید سیستم مدیریت پایگاه داده SQLite را به‌همراه زبان برنامه‌نویسی محبوب پایتون به‌کار ببرید لازم است تا از ماژول پایتونی SQLite3 استفاده کنید. در واقع با به‌کارگیری از این روش شما می‌توانید با رابطی ساده و به‌راحتی با سیستم SQLite ارتباط برقرار کنید و از قابلیت‌های آن بهره‌مند شوید. همچنین خوب است بدانید که این ماژول را نیازی نیست تا جداگانه نصب کنید زیرا به‌صورت درونی در پایتون وجود دارد.

در این قسمت می‌خواهیم نحوه به‌کارگیری پایگاه SQLite در پایتون را به شما یاد بدهیم.

نحوه اتصال به SQLite با ماژول SQLite3 پایتون

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

اکنون می‌توانیم به پایگاه داده SQLite متصل شویم. برای این‌کار از متد connect()‎

به شکلی که در ادامه آورده شده استفاده می‌کنیم.

1sqliteConnection = sqlite3.connect('sql.db')

با این متد، به پایگاه داده‌ای که نام آن را به عنوان پارامتر پاس داده‌ایم متصل می‌شویم. توجه داشته باشید در صورتی‌که چنین پایگاه‌داده‌ای موجود نباشد یک مورد جدید ایجاد می‌کند.

‎حالا که توانستید به پایگاه داده خود متصل شوید یا آن را ایجاد کنید وقت آن رسیده تا با نحوه اجرای کوئری‌های مختلف آشنا شوید. برای این منظور با استفاده از متد cursor()

 یک مکان‌نما روی نمونه اتصالی که پیش از این ساخته‌ایم یعنی sqliteConnection

 ، ایجاد می‌کنیم.

1cursor = sqliteConnection.cursor()
2print('DB Init')

Cursor ایجاد شده دارای متدی به‌نام execute()

 است که شما می‌توانید کوئری مورد نظر خود به آن پاس دهید تا اجرا شود.

1query = 'SQL query;'
2cursor.execute(query)

توجه داشته باشید که کوئری در قالب یک رشته نوشته شده است. در ادامه، برای دریافت نتیجه کوئری خود می‌توانید از متد fetchall()

از Cursor استفاده کنید.

1result = cursor.fetchall()

در این کد، نتیجه برگردانده شده در result

 قرار گرفته است که می‌توانید آن را چاپ کنید یا کارهای دیگری را روی آن انجام دهید. در نهایت نیز می‌توانید به فعالیت Cursor خاتمه دهید.

برای یادگیری بیشتر در مورد استفاده از SQLite در پایتون می‌توانید از مطلبی که لینک آن را در زیر آور‌ده‌ایم، استفاده کنید.

نوجوان در حال کار با پایگاه داده - SQLite چیست

فرق سایر پایگاه های داده با SQLite چیست؟

در این قسمت می‌خواهیم پایگاه داده SQLite را با سایر پایگاه‌های داده نظیر MySQL و PostgreSQL مقایسه کنیم. هر کدام از این سیستم‌های مدیریت پایگاه داده دارای خصوصیات مربوط به خود هستند. بنابراین می‌بایست با ویژگی‌های آن‌ها آشنا باشید تا بتوانید بهترین گزینه را برای کار خود انتخاب کنید. جدولی را برای این منظور در ادامه آورده‌ایم.

مقایسه MySQL ،SQLite و PostgreSQL – «برای مشاهده تصویر در اندازه اصلی، روی آن کلیک کنید».

محدودیت SQLite در اجرای دستورات چیست؟

در ادامه برخی محدودیت‌های SQLite در اجرای دستورات را آورده‌ایم.

  • محدودیت در مجوز‌های دسترسی: سیستم مدیریت پایگاه داده SQLite از مجوز‌های دسترسی تخصصی‌تر که با دستوراتی مانند GRANT یا REVOKE مدیریت می‌شوند و در سایر پایگاه‌های داده‌ای شاهد هستیم پشتیبانی نمی‌کند و تنها مجوزهای دسترسی استاندارد را در اختیار شما قرار می‌دهد.
  • محدودیت ALTER table: در SQLite عملکرد بسیار محدودی از ALTER table را در اختیار داریم به‌صورتی که بر خلاف سایر سیستم‌های مدیریت پایگاه داده، تنها می‌تواند کارهایی مانند تغییر نام جدول، افزودن ستون جدید به جدول، تغییر نام ستون را انجام دهد و عملیات پیشرفته‌تری مانند آنچه که در SQL شاهد آن هستیم ندارد.
  • عدم پشتیبانی از تریگرهای FOR EACH STATEMENT: سیستم مدیریت پایگاه داده SQLite تنها از تریگرهای FOR EACH ROW پشتیبانی می‌کند.
  • محدودیت فقط خواندنی بودن View-ها: در SQLite نمی‌توانید اقداماتی نظیر درج، حذف یا به‌روز‌رسانی را در View ها انجام دهید.
  • محدودیت در دستور JOIN: در صورتی که قصد استفاده از OUTER JOIN ها را داشته باشید باید بدانید که FULL OUTER JOIN و RIGHT OUTER JOIN در این پایگاه داده پشتیبانی نمی‌شوند و تنها می‌توانید از LEFT OUTER JOIN استفاده کنید.

ادامه مسیر یادگیری پایگاه داده با فرادرس

در صورتی که قصد ادامه یادگیری پایگاه داده‌ها را داشته باشید و بخواهید مهارت‌های خود را در این زمینه تقویت کنید می‌توانید از فیلم‌های آموزشی فرادرس که لینک‌ها ان را در ادامه آورده‌ایم استفاده کنید.

استوانه پایگاه داده - SQLite چیست

جمع‌بندی

در این مطلب از مجله فرادرس به شما توضیح دادیم که SQLite چیست و چه کاربردی دارد. برای به‌کارگیری این سیستم مدیریت پایگاه داده نیازی به نصب، راه‌ندازی و سایر مسائل این‌چنینی نخواهید داشت. گفتیم که فایل SQLite حجم بسیار کمی دارد و همین مورد آن را به گزینه مناسبی برای نرم‌افزارهای داخلی دستگاه‌ها و اینترنت اشیا تبدیل کرده است. با توجه به ساده بودن راه‌اندازی SQLite می‌توان آن را برای آموزش مفاهیم SQL به افراد نیز مورد استفاده قرار داد. شما می‌توانید تأخیر موجود در درخواست‌ها و پاسخ‌ها از سرور را با تکنیک نهان‌سازی کاهش دهید. یعنی SQLite را با پایگاه داده سرور-کلاینت خود تلفیق کرده و از آن به‌عنوان حافظه نهان برای کش کردن داده‌‌های مرتبط در پایگاه داده سرور به‌صورت محلی استفاده کنید. خصوصیات، کاربردها و شرکت‌های معروفی که از این دیتابیس استفاده کره‌اند و همچنین بسیاری موارد دیگر نیز جزو مباحثی هستند که در این نوشتار به آن پرداختیم.

علی‌رغم تمامی نکات مثبتی که برای SQLite بیان کردیم، لازم است تا نبود قابلیت‌هایی همچون چندکاربره بودن در SQLite را نیز یاد‌آور شویم که در پایگاه‌داده‌‌های تمام‌عیار همچون MySQL شاهد آن هستیم. این مورد باعث می‌شود تا سیستم مدیریت کاربر مناسب، کنترل دسترسی مطلوب و قابلیت‌های امنیتی متعددی را در این پایگاه داده در اختیار نداشته باشید.

source

توسط expressjs.ir