پایگاه داده مانگو دی بی

آموزش اولیه مانگو دی بی:

چندی قبل مقاله ای در خصوص تفاوت دیتابیس های Relational و NoSQL و معرفی پایگاه داده NoSQL در سایت منتشر شد. در این مقاله قصد دارم به آموزش اولیه مانگو دی بی بپردازم. بطور خلاصه بکار گیری دیتابیس “مانگو دی بی” که یکی از محبوب ترین دیتابیس های NoSQL می باشد را بیان کنم. یکی از مهمترین دلایل اقبال زیاد به این نوع از دیتابیس ها راحتی پیاده سازی و افزودن اطلاعات در آنهاست. پیش تر برای استفاده از پایگاه داده های Relational لازم بود با ساختار جداول، نوع اطلاعات ذخیره شده در آنها، رابطه جداول با هم، جلوگیری از افزونگی بی دلیل اطلاعات و از این دست موارد دقت زیادی به خرج دهید. اما NoSQL این موارد را از پیش پای ما برداشت. البته این به این معنا نیست که توجه به موارد بالا کلاً در NoSQL ها وجود نداشته باشد. اما شاید حساسیت زیاد را نیاز نداشته باشد.

آموزش اولیه “مانگو دی بی” خیلی ساده و ابتدایی طی هفت قدم شما را با ساده ترین مفاهیم آن، یعنی نصب “مانگو دی بی”، اتصال به آن، ساخت اولین جدول و افزودن رکورد، واکشی اطلاعات از “مانگو دی بی”، بروز رسانی و حذف اطلاعات از آن آشنا خواهد کرد.

 

شروع کار با مانگو دی بی:

خوشبختانه این امکان وجود دارد که “مانگو دی بی” (MangoDB) را در تمامی سیستم های عامل بکار بگیرید. هم ویندوز، هم لینوکس و صد البته در MacOS. اما من در این مقاله سعی میکنم بکار گیری آن را در سیستم عامل ویندوز آموزش بدهم. تنها تفاوت بین سیستم عامل های متفاوت نوع نصب اولیه پایگاه داده است. ولی تفاوتی در شیوه بکار گیری اجزای مختلف خود پایگاه داده با هم ندارند، بدین شکل که Query ها روی تمامی سیستم عامل ها شکل یکسانی دارند.
خوب مراحل رو به ترتیب و با توضیح مختصر برای هر مرحله پیش خواهیم برد.

 

قدم اول: نصب مانگو دی بی (MangoDB):

برای اولین قدم، باید بسته نصب آن از وب سایت مانگو دی بی دریافت و نصب گردد. برای این کار کافی است به آدرس ذکر شده مراجعه و بسته را دریافت نمایید. برای شروع کار ما نسخه Community را دریافت و نصب خواهیم کرد. در سمت راست لینک اشاره شده، امکان انتخاب و دریافت این نسخه برای شما فراهم است. روند نصب مانند عموم نرم افزار های ویندوزی با یک ویزارد شروع شده و مرحله مرحله با زدن دکمه Next ادامه پیدا میکند. تنها نکته حائز اهمیت این است که گزینه Run service As network service user را انتخاب کرده باشد. سپس تنها کافیست محل نصب را به دلخواه انتخاب نمایید. بسیار ساده و روان برنامه نصب شده و شما میتوانید کار را در قدم دوم ادامه دهید.

 

قدم دوم: اتصال به دیتابیس مانگو دی بی (MangoDB):

از آنجایی که در مرحله قبل، نصب را بصورت سرویس در ویندوز انجام دادیم، احتیاج به کار اضافه ای نیست. تنها کافی است اقدام به اتصال به “مانگو دی بی” کنیم. بطور پیش فرض، محیط کاربری گرافیکی یا همان GUI برای اتصال به دیتابیس “مانگو دی بی” در بسته نصب شده وجود ندارد. هرچند اتصال و اجرای فرامین برای مانگو دی بی از CLI نیز فراهم است. اما ما برای درک بهتر کار با آن یک برنامه برای اتصال به دیتابیس معرفی میکنیم. برای اتصال ساده و راحت تر میتوانید از Navicat استفاده کنید. پیدا کردن Navicat در بین سایت های فراوان دانلود ایرانی کار سختی نیست. تنها کافیست عبارت Navicat Premium را جستجو، دانلود و نصب کنید. پس از نصب، برنامه را اجرا و از بخش New Connection گزینه MangoDB را انتخاب کنید. در بخش Host عبارت localhost را وارد کرده و باقی موارد را بدون تغییر رها کنید . خواهید دید که با زدن دکمه OK به سرور خود متصل خواهید شد.

 

قدم سوم: ساخت اولین دیتابیس در مانگو دی بی (MangoDB):

برای ساخت یک دیتابیس، خیلی ساده میتوانید از طریق اجرا کردن یک Query دیتابیس با نام مد نظر را بسازید. کافیست از Query زیر برای این کار استفاده کنید.

use devcore

با این کار یک دیتابیس با نام devcore در سرور دیتابیس شما ساخته خواهد شد. اگر از قبل دیتابیسی با نام مشابه وجود داشته باشد، مشکلی پیش نخواهد آمد، بلکه همان دیتابیس مورد استفاده قرار خواهد گرفت، بدین معنی که تمامی Query های بعدی روی آن پایگاه داده (devcore) انجام خواهد شد. این ساده ترین شیوه برای ساخت اولین دیتابیس شما در سرور “مانگو دی بی” می باشد. کاری که برای انجام آن روی Relational ها زمان و انرژی بسیار بیشتری احتیاج بود.

 

قدم چهارم: ساخت اولین جدول در مانگو دی بی (MangoDB):

در این مرحله اولین جدول را در پایگاه داده devcore خواهیم ساخت . این مورد هم به سادگی هرچه بیشتر با اجرای یک Query انجام خواهد شد. مثالی در ادامه آورده شده است:

 

db.books.save({name:"LearnMangoDB",pages:250})

با اجرای دستور بالا جدولی بنام books در پایگاه داده ساخته خواهد شد و یک رکورد جدید با دو فیلد به آن اضافه خواهد شد. یکی فیلد name و با مقدار LearnMangoDB و دیگری pages با مقدار ۲۵۰ . به همین سادگی شما اولین جدول را در اختیار خواهید داشت. حالا فرض کنید شما پیشتر این جدول را ساخته بودید. مشکلی پیش نخواهد آمد. تنها یک رکورد جدید به آن اضافه خواهد شد. شما میتوانید این کار را میلیون ها بار تکرار کنید و رکورد های جدید با فیلد های مختلف و صد البته با نوع داده های مختلف به آن اضافه کنید. این چیزی است که در دیتابیس های NoSQL برای شما به ارمغان آورده اند. سادگی در ساخت جداول و افزودن اطلاعاتی که شاید ساختار مشابه و یکسانی ندارند.

 

قدم پنجم: فراخوانی اطلاعات ثبت شده در مانگو دی بی (MangoDB):

خوب، حالا به سراغ واکشی اطلاعات افزوده شده قبلی برویم. این مورد هم در عین سادگیست. کافیست یک Query اجرا شود. تمام اطلاعات ثبت شده براحتی در اختیارتان خواهد بود. به مثال زیر دقت کنید:

 

db.books.find()

با اجرای این Query تمامی اطلاعات ذخیره شده در جدول books واکشی شده و در اختیارتان خواهد بود. مثال بالا هیچ شرطی برای دریافت اطلاعات در نظر نگرفته است. یعنی بدون هیچ محدودیتی تمام اطلاعات را در دست خواهید داشت. بیایید کمی مثال کاربردی تر بزنیم. فرض کنیم دنبال تمام کتابهایی هستیم که بیش از ۱۵۰ صفحه دارند. Query را ببینید:

 

db.books.find({pages: {$gte: 150}})

بله، به همین سادگی. شاید در ابتدای کار با این نوع از دیتابیس ها کمی شکل و شمایل Query نوشتن متفاوت با چیزی باشد که تا بحال از پایگاه داده های Relational سراغ داشتیم. اما بزودی به آنها عادت خواهید کرد و بکار خواهید گرفت. در مثال بالا با کلید واژه find به پایگاه داده فهمانیدم که میخواهیم در اطلاعات جستجو کنیم. سپس شرط مورد نظر را اعمال کردیم. فرمان دادیم تعداد pages می بایست بیشتر از ۱۵۰ باشد. کلید واژه gte به معنی “بیشتر از” می باشد. شماری از این کلید واژه ها برای جستجو در جداول وجود دارد که در حوصله این آموزش ما نیست. اما با جستجوی اندکی میتوانید به آنها دسترسی داشته باشید.

 

قدم ششم: بروزرسانی اطلاعات در مانگو دی بی (MangoDB):

فرض میکنیم میخواهیم تعداد صفحات کتاب LearnMangoDB را از ۲۵۰ به ۲۵۷ صفحه تغییر دهیم. می بایست با اجرای یک Query این کار را انجام دهیم. به مثال زیر توجه فرمایید:

 

db.books.update({name:"LearnMangoDB"},{$set:{pages:257}})

دقت کنید بخش اول از عبارت Update استفاده شده است و این به MangoDB می فهماند که قصد ما بروزرسانی یک یا چند رکورد است. سپس با شرطی کتاب مد نظر را پیدا کرده ایم. یعنی خواستیم تنها کتابی بروز شود که نام آن LearnMangoDB  است و در ادامه با کلید واژه set مقدار ۲۵۷ را برای فیلد pages ثبت کرده ایم. با اجرای این query تغییرات مد نظر شما انجام خواهد گرفت. یعنی تعداد صفحات از مقدار قبلی (۲۵۰) به مقدار جدید ۲۵۷ بروز خواهد شد.

 

قدم هفتم: حذف اطلاعات از مانگو دی بی (MangoDB):

برای حذف یک یا چند رکورد از “مانگو دی بی” مانند زیر عمل خواهیم کرد. یک Query با شمایل زیر خواهید نوشت و تمام:

 

db.books.remove({name:"LearnMangoDB"})

مانند قدم ششم، با کلید واژه remove به دیتابیس فهماندیم که میخواهیم رکوردی را حذف نماییم، با این شرط که نام کتاب ما LearnMangoDB است. دقت کنید که با اجرای Query بالا یک یا چند رکوردی که با شرط شما برابری کند حذف خواهند شد.

 

سخن آخر:

تمام چیزی که خواندید، آموزش اولیه مانگو دی بی برای اولین استفاده از آن بود، خیلی سریع و ساده. رواج بالا و سهولت استفاده و نگهداری از دیتابیس های NoSQL و صد البته “مانگو دی بی” که یکی از محبوب ترین نوع اینگونه پایگاه های داده می باشد ، این ضرورت را ایجاب میکند که آنها را بررسی کنیم. شاید وقت آن رسیده باشد که در پروژه ای آنها را بکار بگیریم و از مزایای آنها استفاده کنیم. شاید هم تنها علاقه به مبحث پایگاه های داده شما را علاقه مند به آشنایی بیشتر با NoSQL ها کند.

بهر حال، امیدوارم آموزش اولیه مانگو دی بی مورد نظر و استفاده شما قرار بگیرد.

دیدگاه شما

نشانی ایمیل شما منتشر نخواهد شد.