سیستم مدیریت پایگاه داده چیست؟
در این مدت سعی کرده ام اکثر اصطلاعات برنامه نویسی و پایگاه داده رو تعریف کنم. در این مقاله می خواهم جواب سوال سیستم مدیریت پایگاه داده چیست؟ رو دهم که معمولا با نام DBMS شناخته می شود. علاوه بر اینکه در مورد سیستم مدیریت پایگاه داده، می خواهم وظایف سیستم مدیریت پایگاه داده و انواع سیستم های مدیریت پایگاه داده رو مورد بررسی قرار دهم. پس اگر میخواهید در مورد سیستم مدیریت پایگاه داده، اطلاعات کاملی داشته باشید پیشنهاد می کنم این مقاله رو تا انتها مطالعه کنید.
قبل از اینکه بگیم سیستم مدیریت پایگاه داده چیست؟ باید پایگاه داده رو تعریف کنیم و بعد در مورد سیستم مدیریت آن صحبت کنیم. بانک اطلاعاتی یا پایگاه داده یا دیتابیس (data base) به مجموعه ای از اطلاعات با ساختار منظم گفته می شود. این پایگاه های اطلاعاتی معمولاً در قالبی که برای دستگاه ها و رایانه ها قابل خواندن و قابل دسترسی باشند ذخیره می شوند.
سیستم مدیریت پایگاه داده چیست؟
بعد از اینکه پایگاه داده رو تعریف کردیم حال باید سیستم مدیریت پایگاه داده رو تعریف کنیم. سیستم مدیریت پایگاه داده یا DBMS، یک نرم افزار رایانهای است که با پایگاه داده، کاربر و سایر اپلیکیشنها تعامل و ارتباط برقرار میکند و امکان تعریف، ایجاد، بروزرسانی، اعمال پرس و جو (Query) و به طور کلی مدیریت پایگاه داده را فراهم میآورد.
سیستم مدیریت پایگاه دادهها (DBMS)، یک یا مجموعهای از چند برنامه کامپیوتری است که برای مدیریت پایگاه دادهها، مجموعه عظیمی از دادههای ساخت یافته و عملیات اجرایی بر روی دادههای درخواستی کاربران، طراحی شده است. سیستمهای حسابداری، منابع انسانی و پشتیبان مشترک، نمونههایی از کاربرد سیستم مدیریت پایگاه دادهها هستند. این سیستمها که پیشتر فقط در شرکتهای بزرگ مطرح بودند، اخیرا بخش مهمی در شرکت محسوب میشوند. تفاوت سیستمهای مدیریت پایگاه دادهها با برنامههای پایگاه دادهها در این است که سیستمهای مذکور به عنوان موتور سیستم چندکاربره طراحی شدهاند. این سیستمها برای ایفای چنین نقشی، در کرنل مالتی تسکینگ خصوصی با پشتیبان شبکهای از پیش ساخته شده، قرار گرفتهاند. یک برنامه پایگاه داده نمونه، این گونهها را در درون خود ندارد، اما شاید بتواند با کمک سیستم عامل از عملکرد چنین گونههایی پشتیبانی کند
وظایف سیستم مدیریت پایگاه داده
اگر بخواهیم وظایف سیستم مدیریت پایگاه داده رو مورد بررسی قرار دهیم باید لیست بلندی رو در اینجا بیاوریم ولی ما می خواهیم بعضی از وظایف مهم و کلیدی معرفی و توضیحاتی در مورد هر کدام ارائه دهیم. از وظایف سیستم مدیریت پایگاه داده میتوان به موارد زیر اشاره نمود.
- اداره دکشنری دیتا (Meta Data)
- اداره ذخیره دیتا
- ایجاد دیتابیس
- ایجاد جداول (Tables)
- ایجاد ساختمان های کمکی
- خواندن دیتا از یک دیتابیس
- تغییر آوردن در دیتای یک دیتابیس
- حفظ و نگهداری ساختمان های داخلی دیتابیس
- اجراء اوامر
- کنترول Concurrency
- امنیت Security
توسط سیستم مدیریت پایگاه داده، یک دیتابیس ایجاد شده و جداول به آن علاوه شده می تواند. همچنان امکان علاوه نمودن ساختارهای کمکی چون Index ها را نیز فراهم می سازد.
انواع سیستم های مدیریت پایگاه داده
انواع مختلفی از سیستم های پایگاه داده وجود دارند که هرکدام به منظور خاصی طراحی و پیاده شده اند. دسته بندی سیستم های پایگاه داده به صورت زیر انجام گرفته است:
سیستم مدیریت پایگاه داده توزیع شده (Distributed DataBase Management System)
سیستم های توزیع شده بر توزیع داده و همچنین همبستگی فعالیت ها و کنترل روی اجزای توزیع شده سیستم دلالت دارند. اکثر سیستم های توزیع شده برای تقسیم کردن بارکاری یا برای انتقال عملکردهای پردازش داده به نزدیکی محل انجام این وظایف است. در هردو حالت هدف نامحسوس بودن توزیع شدگی از دید کاربر است.
سیستم مدیریت پایگاه داده بلادرنگ (Real-Time DataBase Management System)
سیستم های بلادرنگ سیستم های سریع با سرعت پاسخگوئی بالا هستند که زمان انجام کلیه عملیات نقش مهمی در آنها دارد. سیستم بلادرنگ در تعامل با دنیای واقعی پاسخ قابل پیش بینی را در قاب زمان می دهد. ورودی، پردازش و پاسخ ها همگی از قبل تعریف شده هستند و حد زمانی مشخصی دارند و به نحوی بهینه می شوند که هر حالت ورودی یک حالت خروجی قابل پیش بینی دارد که همیشه در یک زمان و به یک روش اتفاق می افتد.
سیستم مدیریت پایگاه داده تحمل پذیر خطا (Fault Tolerance DataBase Management System)
سیستم تحمل پذیر خطا سرویس هائی را دارد که با ناتوانی های اجزای سخت افزاری و نرم افزاری برخورد می کند. برای رسیدن به این منظورباید کلیه نقاطی که احتمال نقصی در آنها وجود دارد از قبل بررسی شده، ابزارهائی برای تشخیص، اصلاح و یا ترمیم آنها به نحوی طراحی شود که کمترین تاثیر را روی برنامه های کاربردی بگذارند. مکانیسم های RAID، Shadow Memory و کپی از جمله روش هائی هستند که استفاده می شوند.
سیستم مدیریت پایگاه داده مطمئن (Secure DataBase Management System)
در یک سیستم مطمئن کلیه اعمالی که کاربران و برنامه های کاربردی اجازه دارند انجام دهند همچنین زمان و مقدار انجام آنها کنترل می شوند. به عنوان مثال یک سیستم پرسنلی ممکن است درنظرداشته باشد به کلیه کاربران اجازه دستیابی به سابقه پرسنلی خودشان و استخراج اطلاعات شغلی شان را بدهد اما دسترسی به سابقه کارمندان دیگر یا حتی برخی اطلاعات مربوط به خودشان امکان پذیر نباشد. برای دادن چنین سرویسی سیستم پایگاه داده باید قابلیـت تعریف حقوق دسترسی و رسیدگی به آنها را درقبال کاربرانی که به داده دسترسی دارند داشته باشد.
سیستم مدیریت پایگاه داده ناهمگون (Hetrogenouse DataBase Management System)
سیستم ناهمگون از DBMS های مختلف تشکیل شده است. برای مثال شعب یک شرکت هر کدام منحصرا نیازهای پردازشی خود را با سخت افزار و نرم افزارجداگانه برطرف می کنند. اگر نیاز باشد این سیستم ها با هم فعل و انفعال داشته باشند و از طریق شبکه به هم پیوند داده شوند یک HTDBMS ایجاد می شود تا پایگاه داده های مختلف با هم ارتباط برقرار کند.
سیستم مدیریت پایگاه داده چندرسانه ای (Multimedia DataBase Management System)
سیستم های محاسباتی چندرسانه ای انواع متنوعی از منابع داده ای گرافیکی، تصاویر ویدئویی، صوت و متن را استفاده و یا با هم ترکیب می کنند. این منابع داده ای پیچیده باید برای سیستم محاسباتی بسهولت قابل دسترس باشند. برای استفاده در برنامه های کاربردی interactive چنین سیستم هائی از ترکیب الزامات پایگاه داده های بلادرنگ با سیستم های گرافیکی تعاملی استفاده می کنند تا ارائه اطلاعات سنکرون شده و بلادرنگ حاصل شود.
سیستم مدیریت پایگاه داده متحد (Federated DataBase Management System)
نسل جدید سیستم های مدیریت پایگاه داده سعی دارند اطلاعات جمع آوری شده از سنسورها را مستقیما ذخیره کنند. این سیستم ها از پایگاه های دانش نیز حمایت می کنند.
برنامه های رایج مدیریت پایگاه داده
اگر بخواهیم به چند نمونه از سیستم های مدیریت پایگاه داده اشاره کنیم می توان لیست بزرگی رو نوشت اما ما فقط به برنامه های رایج مدیریت پایگاه داده اشاره می کنیم. در بخش زیر انواع سیستم های مدیریت پایگاه داده که جز بهترین ها و رایج ترین های این حوزه هستند رو لیست کرده ایم:
- Microsoft SQL Server
- Oracle
- PostgreSQL
- MySQL
- Microsoft Access
- DB2