قبل از اینکه پایگاه داده (database) را معرفی کنیم، باید کاربرد آن را درک کنید.
میدانیم که این روزها جهان بر پایه تکنولوژی اداره میشود. در بسترهای مختلف تکنولوژی، دادههایی تولید میشوند که پیام شما را به کسی که آن سوی خط میرسانند. تفاوتی ندارد که این پیام قرار است از طریق وبسایتتان به گوش طرف مقابلتان برسد یا اینکه یکی از اپلیکیشنهای موجود (مانند تلگرام) این وظیفه را بر عهده دارد، در همه حالتها این دادهها هستند که پیام را به مقصد میرسانند. ما برای نگهداری دادهها نیاز به فضایی داریم که بهعنوان دیتابیس شناخته میشود.
همه اطلاعات را میتوانید در دیتابیس نگهداری کنید. مثلاً دادههای مربوط به اشخاص مختلف مانند نام، سن، وزن، شماره تلفن، آدرس، اطلاعات حساب بانکی و… . یا حتی تصاویر، ویدئوها و محتواهای سایت!
اگر دوست دارید از ماهیت و سازوکار دیتابیس سردربیاورید و با سیستم مدیریت پایگاه داده و انواع آن آشنا شوید، با ما همراه باشید.
پایگاه داده چیست؟
پایگاه داده یا Database در حقیقت محلی برای ذخیرهسازی دادهها بهصورت منظم است. با کمک دیتابیس میتوانید دادههایتان را روی فضای الکترونیکی مانند هارد لپتاپ یا روی هاست ذخیره کنید؛ بنابراین هر زمانی که نیازی به تغییر و دستکاری دادهها داشته باشید یا بخواهید دادههایتان را مدیریت کنید، با کمک دیتابیس بهراحتی میتوانید این کار را انجام دهید.
اگر بخواهیم این موضوع را شفافتر کنیم تا قابلدرکتر باشد، بهترین راه این است که پا به دنیای واقعی بگذاریم و مکانهایی که دیتابیس در آنها استفاده میشود را لیست کنیم.
فرض کنید که هماکنون نیاز به یک شماره تلفن دارید و با مرکز اطلاعات مخابرات تماس میگیرید؛ این مرکز با اطلاعات کاربر مانند نام و نام خانوادگی، محل زندگی و جزییاتی که ارائه میکنید، شماره تلفنی را به شما میدهد. در واقع، اپراتور از طریق پایگاه داده به این اطلاعات دسترسی پیدا کرده و آنها را به شما ارائه میکند.
مثال دیگری که میتوانیم در این زمینه بیاوریم، نحوه دسترسی اداره برق به اطلاعات مشتریان است. اگر شما مشکل خرابی برق را گزارش کرده باشید، یا مشکلی در محاسبه هزینه مصرفی برقتان پیشآمده باشد یا نیاز به صدور قبض المثنی برای اطلاع از هزینه برق مصرفیتان داشته باشید، شرکت برق از طریق دیتابیس به این اطلاعات دسترسی پیدا کرده و به درخواستی که ارائه کردهاید، رسیدگی میکند.
حتی فیسبوک و اینستاگرامی که روزمره از آنها استفاده میکنید هم دادها را در دیتابیس ذخیره میکنند، تا کاربران بتوانند بهراحتی از این برنامهها استفاده کنند و به تمام اطلاعاتی که میخواهند دسترسی داشته باشند.
انواع پایگاه داده کدامند؟
دیتابیس نمونههای مختلفی دارد و با توجه به نیازی که وجود دارد، یکی از انواع دیتابیس استفاده میشود. در ادامه با پرکاربردترین دیتابیس ها آشنا میشویم.
۱) دیتابیس توزیع شده
پایگاه داده توزیع شده (Distributed database) از دو یا چند پایگاه داده که در کامپیوترهای مختلف قرار دارند تشکیل شده که معمولاً در برنامهها، بهعنوان یک پایگاه داده واحد ظاهر میشوند. به عبارت دیگر، اگرچه اطلاعات بهصورت متمرکز در این دیتابیس ذخیره نمیشود، اما دیتابیس توزیع شده از نگاه کاربران و کسانی که به آنها دسترسی دارند بهصورت یکپارچه به نظر میرسد.
۲) دیتابیس شخصی
دیتابیسهای شخصی (Personal Database) برای ذخیرهسازی دادهها در رایانههای شخصی استفاده میشوند. این دیتابیسها جمعوجور بوده و بهراحتی قابل کنترل هستند. دادههای دیتا بیس شخصی، معمولاً در اختیار یک فرد، یا گروه کوچکی در سازمان قرار دارند. برای مثال، شما میتوانید با استفاده از نرمافزار Microsoft Access، برای خودتان یک پایگاه داده شخصی ایجاد کنید.
۳) دیتابیس شی گرا
پایگاه داده شیء گرا، ترکیبی از پایگاه داده رابطهای و برنامهنویسی شی گرا است.
در دیتابیس های شی گرا (Object Oriented Database)، اطلاعات بهجای اینکه بهصورت داده ذخیره شوند، به صورت شی سازماندهی میشوند. این نوع از دیتابیسها از ذخیرهسازی انواع دادهها پشتیبانی میکنند. اشیایی که در دیتابیس ذخیره میشوند دارای ویژگیهایی هستند که نحوه استفاده از آنها را مشخص میکند. از جمله دیتابیسهای شی گرا میتوان به PostgreSQL اشاره کرد.
۴) دیتابیس رابطه ای
پایگاه داده رابطهای (Relational Database) از یک سری جدول (Table) تشکیل شده که دادهها در آنها ذخیره و طبقهبندی میشوند. هر جدول در پایگاه داده رابطهای، دارای تعدادی سطر و تعدادی ستون است. در هر سطر این جدول، یک داده قرار میگیرید که با یک موجودیت ارتباط دارد. این موجودیت، در ستون جدول بیان میشود.
برای اینکه بهتر درک کنید تصویر زیر را ببینید.
۳) دیتابیس NoSQL
دیتابیس NoSQL برای ذخیره و مدیریت مجموعههای زیادی از دادههای توزیعشده استفاده میشود. این نوع از دیتابیسها هیچ سروکاری با جداول ندارند و بهعنوان دیتابیسهای غیر رابطهای هم شناخته میشوند. این نوع از دیتابیسها معمولا برای مدیریت بیگ دیتا یا کلان دادهها استفاده میشوند. کلان دادهها دارای دادههای ساختاریافته، نیمه ساختاریافته و بدون ساختار هستند.
نکته: در تجزیه و تحلیل دادههای کلانِ بدون ساختار، استفاده از چند سرور ابری لازم است.
۵) دیتابیس ابری
دیتابیس ابری (Cloud Database)، پایگاه دادهای است که متناسب با فضای ذخیرهسازی ابری و بر پایه تکنولوژی رایانش ابری طراحی شده. دیتابیسهای ابری مزایای زیادی دارند. ازجمله آنها میتوان به امکان دسترسی به دیتابیس بهصورت ۲۴ ساعته، امکان ایجاد دیتابیس روی محیط ابر با هزینه مقرونبهصرفه و مقیاسپذیری بالای دیتابیس اشاره کرد. در کل، دیتابیسهایی که روی این فضا هستند را میتوانید در هر ساعت از روز مدیریت کنید و اطلاعات را بهصورت نامحدود در دیتابیس ذخیره کنید.
سازمانها میتوانند با استفاده از پایگاه داده ابری، برنامههای تجاری خود را بهصورتSaaS توسعه بدهند.
۶) دیتابیس OLTP
دیتابیسهای OLTP (مخفف Online Transactional Processing) برای محیطهایی که نیاز به دسترسی چندگانه دارند استفاده میشوند. در پایگاه داده OLTP، معمولاً دادهها درج، بهروزرسانی یا حذف میشوند. بهعنوان مثال شرکتهای فروش بلیط و بانکها میتوانند از این دیتابیسها استفاده کنند. از این دیتابیسها برای حفظ یکپارچگی دادهها و پردازش سریع اطلاعات استفاده میشود.
۷) دیتابیس گراف
هر گراف از تعدادی نقطه و خط تشکیل شده است. در پایگاه داده گراف (Graph Database)، نقطهها موجودیتها هستند و خطها، رابطۀ بین این موجودیتها را تعریف میکنند. از این نوع پایگاه داده، معمولاً برای بررسی و تحلیل ارتباطات استفاده میشود. مثلاً شرکتها ممکن است با کمک گراف دیتابیس، دادههای مربوط به مشتریان را در شبکههای اجتماعی استخراج کنند.
خب، تا اینجا با پرکاربردترین پایگاه دادهها آشنا شدید؛ حالا بیایید دیتابیس را کالبدشکافی کنیم و ببینیم که از چه بخشهایی تشکیل شده است.
اجزای تشکیلدهنده دیتابیس چیست؟
پایگاه دادهها معمولا از ۵ بخش اصلی تشکیل میشود. این بخشها عبارتند از:
۱. سختافزار
سختافزار database از دستگاههای فیزیکی یا الکترونیکی مانند رایانهها، دستگاههای ورودی / خروجی، دستگاههای ذخیرهسازی و غیره تشکیل میشود. این تجهیزات رابط بین رایانهها و دنیای واقعی هستند.
۲. نرمافزار
این مجموعه شامل برنامههایی است که برای مدیریت و کنترل دیتابیس بهصورت کلی به کار میرود. این بخش معمولا شامل خود نرمافزار database، سیستمعامل و نرمافزار شبکهای است که برای به اشتراک گذاشتن دادهها بین کاربران و برنامههای کاربردی استفاده میشود.
۳. دادهها
دادهها شامل حقایق، مشاهدات، ادراکات، اعداد، نویسهها، نمادها، تصاویر و غیره هستند که بعد از پردازش معنا پیدا میکنند. دادهها شاید ساده به نظر برسند، اما این سادگی دلیلی بر سازماندهی آنها نیست. بلکه ممکن است دادهها در عین ساده به نظر رسیدن، سازماندهی نشده باشند.
۴. رویهها
رویه مجموعهای از دستورالعملها و قوانینی است که به شما کمک میکند تا از DBMS (سیستم مدیریت دیتابیس یا Database Management System) استفاده کنید. در حقیقت رویهها همان مواردی هستند که طراحی و متدهای دیتابیس را مشخص میکنند و کاربران با یادگرفتن آنها، میتوانند از دیتابیس استفاده کنند.
۵. زبان دسترسی به دیتابیس
از زبان دسترسی به database برای دسترسی به دادههای درون دیتابیس، وارد کردن دادههای جدید، بهروزرسانی دادههای موجود یا بازیابی اطلاعات مورد نیاز از DBMS استفاده میشود. با کمک این زبان است که کاربر میتواند دادههای جدید را طبق دستورات مناسب از دیتابیس بخواند یا درون آن قرار دهد.
سیستم مدیریت پایگاه داده (DBMS) چیست؟
سیستم مدیریت دیتابیس یا (DBMS) مجموعهای از برنامهها است که کاربران را قادر میسازد تا به دیتابیس دسترسی پیدا کنند، دادهها را دستکاری کنند، از دیتابیس گزارش
بگیرند یا دادههای ذخیرهشده روی دیتابیس را نمایش دهند. همچنین این سیستم امکان کنترل دسترسی به دیتابیس را هم فراهم میکند. در حقیقت، DBMS نرمافزاری است که بهعنوان رابط بین کاربر، database و برنامه عمل میکند.
شاید برایتان جالب باشد که بدانید، مدیریت database مفهوم جدیدی نیست و از سال ۱۹۶۰ این موضوع مطرح بوده است.
تاریخچه سیستم مدیریت پایگاه داده
در اینجا سیر تاریخی سیستم مدیریت دیتابیس را برایتان آوردهایم.
- ۱۹۶۰ – چارلز باخمان اولین سیستم DBMS را طراحی کرد.
- ۱۹۷۰- آقای Codd سیستم مدیریت اطلاعات IBM (IMS) را معرفی کرد.
- ۱۹۷۶- پیتر چن مدل رابطه نهادی را که بهعنوان مدل ER نیز شناخته میشود را ارائه کرد.
- ۱۹۸۰ – مدل رابطهای بهعنوان یک مفهوم پذیرفتهشده در دیتابیس شناخته شد.
- ۱۹۸۵ – DBMS شی گرا ایجاد شد.
- ۱۹۹۰ – شی گرایی با DBMS رابطهای ادغام شد
- ۱۹۹۱ – Microsoft MS Access امکان ایجاد یک DBMS شخصی را فراهم کرد.
- ۱۹۹۵ – اولین برنامه دیتابیس اینترنت معرفی شد.
- ۱۹۹۷ – XML برای پردازش دیتابیس اعمال شد.
انواع سیستمهای مدیریت پایگاه داده
۴ نوع سیستم وجود دارند که عبارتند از:
- مدل سلسله مراتبی
- مدل شبکهای
- مدل رابطهای
- مدل شی گرا
مدل سلسله مراتبی
در این مدل دیتابیس، دادهها در قالبی شبیه به یک درخت سازماندهی شده و از بالا به پایین یا پایین به بالا ذخیره میشوند. رابطه این دیتابیسها مطابق الگوی والد و فرزند است. در این الگوها هر والد ممکن است چند فرزند داشته باشند، اما هر فرزند تنها یک والد دارد.
مدل شبکهای
DBMS شبکهای اجازه میدهد تا هر کودک چندین والد داشته باشد. این موضوع به شما کمک میکند تا مدلسازی روابط پیچیدهتر مانند رابطههای چند به چند را سازماندهی کنید. در این مدل، موجودیتها در قالب یک نمودار سازماندهی میشوند و از طریق چندین مسیر قابلدسترسی هستند.
مدل رابطهای
مدل رابطهای به دلیل سادگی که دارد، یکی از پرکاربردترین DBMS ها است. دادهها در مدل رابطهای در ساختارهای ثابت در ردیفها و ستونهای جداول ذخیره میشود و با استفاده از SQL دستکاری میشود.
مدل شی گرا
در مدل شی گرا، دادهها بهصورت اشیا ذخیره میشوند. در این مدل ساختارهایی به نام کلاس وجود دارد که دادهها درون آنها قرار میگیرند و ارزش و نوع عملیاتی که انجام میدهند مشخص است.
شناختهشدهترین سیستم مدیریت دیتابیس
سیستمهای محبوب DBMS عبارتند از:
- MySQL
- Microsoft Access
- Oracle
- PostgreSQL
- dBASE
- FoxPro
- SQLite
- IBM DB2
- LibreOffice Base
- MariaDB
- Microsoft SQL Server
کاربردهای DBMS چیست؟
برای درک بهتر عملکرد سیستم مدیریت پایگاه داده، مواردی که این سیستم عمدتا استفاده میشود را در ادامه ارائه کردهایم.
بانکها: برای ذخیره اطلاعات مشتریها، مدیریت حساب بانکی، پرداختها، سپردهها، وامها و غیره
خطوط هوایی: برای رزرو بلیط توسط مشتریان و سازماندهی اطلاعات برنامه پروازها
دانشگاهها: برای مدیریت اطلاعات دانش آموزان، ثبتنام دورهها و نمرات
مخابرات: برای نگهداشتن سوابق مشتریان، صورتحساب ماهانه و پیگیری شکایات و مشکلات
فروشگاهها: برای ذخیره اطلاعات مشتریان، محصول و میزان فروش
تولیدیها: برای مدیریت زنجیره تامین، ردیابی تولید اقلام و بررسی وضعیت موجودی کالا در انبارها
منابع انسانی: برای کسب اطلاعات در مورد کارمندان، مدیریت میزان حقوق و دستمزد، کسورات، صدور فیش حقوقی و غیره
با وجود شناخت DBMS و انواع آن، بیشک کنجکاو شدهاید که بدانید آیا این سیستم مشکلاتی هم دارد یا خیر! در ادامه مزایا و معایبی که سیستم مدیریت پایگاه داده دارد را برایتان آوردهایم.
مزایای سیستم مدیریت دیتابیس (DBMS)
- DBMS تکنیکهای مختلفی را برای ذخیره و بازیابی دادهها ارائه میدهد.
- DBMS بهعنوان یک کنترلکننده کارآمد عمل میکند تا بتوانید از چندین برنامه با دادههای مشابه بهصورت متوازن استفاده کنید.
- با وجود سرویس مدیریت دیتابیس، برنامه نویسان در معرض جزئیات نمایش داده و ذخیره اطلاعات قرار نمیگیرند.
- DBMS از توابع مختلف قدرتمندی برای ذخیره و بازیابی دادهها استفاده میکند.
- با وجود DBMS زمان توسعه برنامهها کاهش پیدا میکند.
- DBMS امکان ایجاد محدودیت برای دسترسی به دادههای سطح بالا را فراهم میکند.
معایب سیستم مدیریت دیتابیس (DBMS)
- هزینه سختافزار و نرمافزار یک DBMS بسیار زیاد است و بودجه سازمان شما را افزایش میدهد.
- DBMS ها اغلب سیستمهای پیچیدهای هستند، بنابراین آموزش استفاده از آنها برای کاربران الزامی است.
- در بعضی از سازمانها تمام اطلاعات در یک database واحد ذخیره میشوند، در اثر حوادث احتمالی مانند قطع و وصل شدن جریان برق ممکن است رسانهای که دیتابیس روی آن قرار دارد از کار بیفتد و دیتابیس از دست برود.
- استفاده از یک برنامه در یک زمان توسط بسیاری از کاربران، گاهی منجر به از دست رفتن برخی از دادهها میشود.
- DBMS نمیتواند محاسبات سطح بالا را انجام دهد.
و در انتها …
در این مقاله درباره پایگاه داده، انواع آن و سیستم مدیریت دیتابیس صحبت کردیم. حالا میدانید که دادههایی که روزانه تولید میشوند، چطور و در چه مکانهایی ذخیره میشوند و مدیریت آنها چطور انجام میشود.
همچنین به این موضوع تا حدودی آگاه شدهاید که، انتخاب نوع پایگاه داده برای هر سازمانی متفاوت است. بهعنوان مثال برنامهای مانند اینستاگرام که با کلان دادهها سروکار دارد و حجم دیتای تولیدشده در آن بسیار زیاد است، مشخصا از دیتابیس ابری استفاده میکند؛ اما برای دیتابیس سیستمی مانند بانک که باید دسترسی افراد محدود شود، بهتر است سیستم مدیریت پایگاه داده مناسب انتخاب شود تا بتوان مدیریت دادهها و سطح دسترسی افراد را کنترل کرد.
اگر سوالی درباره دیتابیس ها دارید، حتماً از ما بپرسید.