afsoon

DBMS
نویسنده : مرتضی حاتمی منامن - ساعت ۱٢:٠۸ ‎ق.ظ روز چهارشنبه ۱٢ فروردین ۱۳۸۸

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



پایگاه داده ها

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

پایگاه داده در اصل مجموعه‌ای سازمان یافته از اطلاعات است.این واژه از دانش رایانه سرچشمه می‌گیرد، اما کاربرد وسیع و عمومی نیز دارد، این وسعت به اندازه‌ای است که مرکز اروپایی پایگاه داده (که تعاریف خردمندانه‌ای برای پایگاه داده ایجاد می‌کند) شامل تعاریف غیر الکترونیکی برای پایگاه داده می‌باشد. در این نوشتار به کاربردهای تکنیکی برای این اصطلاح محدود می‌شود.
یک تعریف ممکن این است که: پایگاه داده مجموعه‌ای از رکوردهای ذخیره شده در رایانه با یک روش سیستماتیک (اصولی) مثل یک برنامه رایانه‌ای است که می‌تواند به سوالات کاربر پاسخ دهد. برای ذخیره و بازیابی بهتر، هر رکورد معمولاً به صورت مجموعه‌ای از اجزای داده‌ای یا رویدادها سازماندهی می‌گردد. بخش‌های بازیابی شده در هر پرسش به اطلاعاتی تبدیل می‌شود که برای اتخاذ یک تصمیم کاربرد دارد. برنامه رایانه‌ای که برای مدیریت و پرسش و پاسخ بین پایگاه‌های داده‌ای استفاده می‌شود را مدیر سیستم پایگاه داده‌ای یا به اختصار (
DBMS) می‌نامیم. خصوصیات و طراحی سیستم‌های پایگاه داده‌ای در علم اطلاعات مطالعه می‌شود.

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

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

معمولاً DBMSها بر اساس مدل‌هایی که استفاده می‌کنند تقسیم بندی می‌شوند: ارتباطی، شی گرا، شبکه‌ای و امثال آن. مدل‌های داده‌ای به تعیین زبانهای دسترسی به پایگاه‌های داده علاقه مند هستند. بخش قابل توجهی از مهندسی DBMS مستقل از مدل‌های می‌باشد و به فاکتورهایی همچون اجرا، هم‌زمانی، جامعیت و بازیافت از خطاهای سخت افزاری وابسطه‌است.در این سطح تفاوت‌های بسیاری بین محصولات وجود دارد.] تاریخچه پایگاه داده

اولین کاربردهای اصطلاح پایگاه داده به ژوئن ۱۹۶۳ باز می‌گردد، یعنی زمانی که شرکت System Development Corporation مسئولیت اجرایی یک طرح به نام «توسعه و مدیریت محاسباتی یک پایگاه داده‌ای مرکزی» را بر عهده گرفت. پایگاه داده به عنوان یک واژه واحد در اوایل دهه ۷۰ در اروپا و در اواخر دهه ۷۰ در خبر نامه‌های معتبر آمریکایی به کار رفت.(بانک داده‌ای یا در اوایل سال ۱۹۶۶ در روزنامه واشینگتن پست کار رفت)

اولین سیستم مدیریت پایگاه داده در دهه ۶۰ گسترش یافت. از پیشگامان این شاخه چارلز باخمن می‌باشد. مقالات باخمن این را نشان داد که فرضیات او کاربرد بسیار موثرتری برای دسترسی به وسایل ذخیره سازی را محیا می‌کند. در آن زمانها پردازش داده بر پایه کارت‌های منگنه و نوارهای مغناطیسی بود که پردازش سری اطلاعات را مهیا می‌کند. دو نوع مدل داده‌ای در آن زمانها ایجاد شد:CODASYL موجب توسعه مدل شبکه‌ای شدکه ریشه در نظریات باخمن داشت و مدل سلسله مراتبی که توسط North American Rockwell ایجاد شد و بعدا با اقباس از آن شرکت IBM محصولIMS را تولید نمود.
مدل رابطه‌ای توسط
E. F. Codd در سال ۱۹۷۰ ارائه شد.او مدل‌های موجود را مورد انتقاد قرار می‌داد. برای مدتی نسبتاً طولانی این مدل در مجامع علمی مورد تایید بود. اولین محصول موفق برای میکرو کامپیوترها dBASE بودکه برای سیستم عامل هایCP/M و PC-DOS/MS-DOS ساخته شد. در جریان سال ۱۹۸۰ پژوهش بر روی پایگاه‌های مدل توزیع شده و ماشین‌های پایگاهی (database machines) متمرکز شد، اما تأثیر کمی بر بازار گذاشت. در سال ۱۹۹۰ توجهات به طرف مدل شی گرا جلب شد. این مدل جهت کنترل داده‌های مرکب لازم بود و به سادگی بر روی پایگاه داده‌های خاص، مهندسی داده(شامل مهندسی نرم افزار منابع) و داده‌های چند رسانه‌ای کار می‌کرد.

در سال ۲۰۰۰ نوآوری تازه‌ای رخ داد و پایگاه اکس‌ام‌ال (XML) به وجود آمد. هدف این مدل از بین بردن تفاوت بین مستندات و داده‌ها است و کمک می‌کند که منابع اطلاعاتی چه ساخت یافته باشند یا نه در کنار هم قرار گیرند.

 

مدل‌های پایگاه داده

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

 

 

 

پایگاه داده هــــــــــــــــا

اصطلاح پایگاه داده‌ها داده‌گان یکی از رایجترین اصطلاحات در دانش و فن کامپیوتر (انفورماتیک) است . همه کسانی که به نحوی با کامپیوتر سروکار دارند, این اصطلاح را می‌شناسند و هر یک در حد درک خود ,آنرا بکار می‌برند و بسیاری نیز در این زمینه آگاهی یا تجربه دارند.
در باره اهمیت این دانش و تکنولوژی و گستردگی آن ,مطالب زیادی در متون کلاسیک آمده است.تنها شایان تاکید است که:در هر سال شاید بیشتر از یکصد و پنجاه هزار صفحه مطلب آکادمیک در این زمینه منتشر میشود, دهها نرم افزار سیستم مدیریت پایگاه داده به بازار مصرف عرضه شده,تعداد زیادی کتاب درسی یا مرجع در این زمینه نوشته شده است.
سیستم مدیریت پایگاه داده ها یکی از سیستم های ذخیره و بازیابی است.با توجه به معنای عام

 

سیستم ذخیره و بازیابی اطلاعات : هر سیستمی که به کاربر برنامه ساز یا نا برنامه ساز امکان دهد تا اطلاعات خود را ذخیره,بازیابی و پردازش کندو یا احیانا اطلاعات جدیدی را تولید نماید.
اصطلاح "ذخیره و بازیابی اطلاعات" از یک دیدگاه ویژه ,می‌تواند معنای دیگری هم داشته باشد: مجموعه ای از الگوریتم‌ها و تکنیکها که در ذخیره سازی, بازیابی و پردازش اسناد, مدارک , متون , تصاویر و اصوات به کار می‌روند و این گونه داده‌ها ممکن است ساختمند , نیم ساختمند و یا حتی ناساختمند باشند.
این الگوریتمها و تکنیکها نهایتا در طراحی و تولید یک "سیستم " بکار گرفته می‌شوند, سیستمی که به کاربر امکان می‌دهد تا اطلاعات مورد نظرش را ذخیره ,بازیابی و پردازش کند. ذخیره و بازیابی داده‌های پیچیده که عمدتاً ناساختمند و گاه نیم ساختمند هستند , طبعاً سیستم های خاص خود را طلب می‌کند. با توجه به همین توضیح است که می‌توان اصطلاح "سیستم ذخیره و بازیابی اطلاعات" را اصطلاحی عام دانست.
رده بندی تکنولوژی های پایگاه داده

1.    سیستم فایلینگ

2.    سیستم مدیریت داده‌ها

3.    سیستم مدیریت پایگاه داده‌ها <<سیستم های متعارف>>

4.    سیستم مدیریت پایگاه شناخت <<دانش>>

5.    سیستم مدیریت پایگاه داده‌های شیی گرا<<شیی گرا>>

6.    سیستم هوشمند مدیریت پایگاه داده‌ها

7.    سیستم معنایی مدیریت پایگاه داده‌ها

8.    سیستم مدیریت داده‌های زمانمند

9.    سیستم مدیریت پایگاه داده‌های نیم ساختمند و ناساختمند

10.                       سیستم مدیریت پایگاه داده‌ها نیم ساختمند و ناساختمند

11.                       سیستم مدیریت چند پایگاهی

12.                       سیستم اطلاعات اجرائی

 

 

عناصر محیط پایگاه داده‌ها

محیط پایگاه داده‌ها ,مثل هر محیط ذخیره و بازیابی اطلاعات, از چهار عنصر تشکیل شده است :

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

 

تاریخچـــــــــــــــــــــــــــه

تکنولوژی پایگاه داده‌ها از اواسط دهه 60 میلادی ایجاد شد , در طول دهه 70 توسعه یافت و به گستردگی مورد استفاده قرار گرفت. از اواخر دهه 70 و اوایل دهه 80 رده‌ای از آن تکنولوژی به نام سیستم مدیریت پایگاه داده‌های رابطه‌ای مورد پذیرش بیشتری قرار گرفت و به عنوان تکنولوژی برتر , شناخته شد و هنوز هم(نسبت به گونه‌های دیگر) بسیار مورد استفاده قرار می‌گیرد .
به نظر بعضی پژوهشگران , از جمله دیت نوع کاملتری از سیستمهای رابطه‌ای در دهه اول هزاره سوم میلادی کماکان تکنولوژی مسلط خواهد بود (ترکیبی از سیستم رابطه‌ای و سیستم شیی گرا ) البته از نظر همین نویسنده ,مفاهیم مدل رابطه‌ای مطروحه توسط آقای کاد تا صد سال دیگر هم پایه سیستم های رابطه‌ای خواهند بود.
اما از اواسط دهه 80,سیستمهای دیگری هم ایجاد و بعضاً بصورت تولید تجاری عرضه شدند, از جمله سیستم پایگاه شناخت (دانش), سیستم هوشمند مدیریت داده‌ها, سیستم مدیریت پایگاه داد‌ه‌ای شیی گرا و سیستم معنایی مدیریت داده‌ها ,هرچند بیشتر این سیستمها, هنوز در کاربردهای خاصی استفاده می‌شوند .
این سیستمها را گاه سیستمهای پس رابطه‌ای می‌نامند . از میان این سیستمها پس رابطه‌ای شاید سیستم مدیریت پایگاه داده‌های شیی گرا بیشتر مورد استفاده محافل تکنیکی قرار می‌گیرد و تولیدات بیشتری از این نوع سیستم به بازار مصرف , عرضه شده و می‌شوند.

 

 

 

 

 

 

 

 

 

 

 

مقدمه ای بر پایگاه های داده

 


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


داده ( Data ) و اطلاعات (‌Information )
دو اصطلاح داده و اطلاعات که بیشتر اوقات به جای یکدیگر برده می شوند در سیستمهای اطلاعاتی مفاهیم متفاوتی دارند. داده ها در این سیستمهای اطلاعاتی عبارتند از : کلمات و ارزشهای واقعی که از طریق مشاهده و تحقیق بدست می آیند در حالی که اطلاعات داده های پردازش شده می باشند که برای گیرنده قابل درک بوده و با دانستن آن شروع به تصمیم گیری می کند. به عبارت دیگر داده نمودی از وقایع، معلومات،رخدادها ،پدیده ها و مفاهیم می باشد در حالیکه اطلاعات تکوین و پردازش یا تفسیر داده بوده و شامل خواص ارتباط دهندگی و انتقال دهندگی می باشد.

موجودیت ( Entity )
موجودیت مصداق کلی هر پدیده،فرد یا شی ء یا مفهومی است که می خواهیم در مورد آن اطلاعاتی داشته باشیم به عنوان مثال اگر در نظر داریم یک سیستم پایگاه داده برای یک دبیرستان پیاده سازی کنیم مواردی چون دانش آموزان ، دبیران، دروس ،کلاسها و .... جزء موجودیت های سیستم بشمار می روند.

صفت خاصه (
Attribute )
هر موجودیت از یکسری صفات تشکیل شده است که دارای مقادیر واقعی هستند و به عباراتی وجه تمایز یک موجودیت از موجودیت دیگر بشمار می رود. به عنوان مثال در سیستم دانشگاه اگر موجودیت دانشجو را در نظر بگیریم می توانیم صفات خاصه: نام ،نام خنوادگی،سن،سال تولد،رشته تحصیلی،سال ورود و ... را برگزینیم و یا برای موجودیت درس: نوع موجودیت: درس صفات خاصه: کد درس،نام درس، تعداد واحد
ایجاد سیستم خودکار ذخیره و بازیابی داده ها دو روش کلی برای ذخیره ساختن و بازیابی خودکار داده ها وجود دارد:
1-روش استفاده از سیستمهای اطلاعاتی ساده یا روش غیر بانک اطلاعاتی
2-روش استفاده از بانکهای اطلاعاتی


روش غیر بانک اطلاعاتی
در این روش ،داده ها در فایلهای جداگانه ای قرار می گیرند و برای استفاده از داده های موجود در آن فایلها،سیستمهای جداگانه ای طراحی می شوند. به این نوع سیستمها سیستم پردازش فایل (
File-System ) گفته می شود. در این سیستمها هر برنامه ی کاربردی به فایل اطلاعاتی مربوط به خود مراجعه می کند.

 فایل 1
« برنامه کاربردی 1 «کاربر 1 
 برنامه کاربردی
«کاربر 2   فایل 2«2 
 فایل 3
« برنامه کاربردی 3 «کاربر 3 

در این روش بسیاری از داده های مورد نیاز کاربر 1 در بین داده های در اختیار کاربر 2 و 3 وجود دارد و در نتیجه عدم تجمع داده ها و عدم وحدت ذخیره سازی اطلاعات مورد نیاز کاربر 1 در فایل 1 با تکرار ذخیره سازی اطلاعات روبرو هستیم و این به معنی افزونگی داده است. از طرفی حفظ امنیت این سیستم مشکل است در صورت ایجاد تغییراتی در فایل 1 در زمینه اطلاعات موجود در آن، برنامه کاربردی مربوط نیز باید تغییر پیدا کند.

روش بانک اطلاعاتی
در این روش کلیه داده ها به صورت مجتمع یا بانک ذخیره شده ولی هر کاربر دید خاص خود را نسبت به داده ها دارد. در این صورت کاربران مختلف می توانند بصورت مشترک با بانک کار کنند همچنین افزونگی داده ها به حداقل ممکن کاهش می یابد. در این روش نرم افزار مدیریت بانک اطلاعاتی (
DBMS ) به عنوان واسطه بین برنامه های کاربردی و بانک اطلاعاتی ایفای نقش می کند لذا امنیت داده ها در این روش بیشتر است.

« برنامه کاربردی 1 «برنامه کاربردی1 
 برنامه
«برنامه کاربردی2   فایل« DBMS «کاربردی 2 
« برنامه کاربردی 3 «برنامه کاربردی 3

تعریف بانک اطلاعاتی ( Date Base )
به صورت جامع می توان گفت: « بانک اطلاعاتی یا پایگاه داده ها مجموعه ای سازمان یافته از اطلاعات و داده های مرتبط به هم است ” و در یک تعریف کاملتر بانک اطلاعاتی عبارت است از ” مجموعه ای از داده های ذخیره شده بصورت مجتمع و مبتنی بر یک ساختار، با حداقل افزونگی، تحت کنترل متمرکز که استفاده از آن بصورت اشتراکی و همزمان نیز مسیر می باشد.»

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

سیستم مدیریت بانک اطلاعات ( DBMS )
DBMS مهمترین جزء نرم افزاری در سیستم بانک اطلاعاتی است که به عنوان رابط بین بانک اطلاعاتی و کاربر عمل می نماید، به طوریکه کلیه فایلهای بانک اطلاعاتی فقط در اختیار این نرم افزار قدرتمند قرار گرفته و کلیه دستیابی ها به بانک از طریق DBMS صورت می پذیرد. آنچه در مورد یک سیستم مدیریت بانک اطلاعاتی اتفاق می افتد عبارت است از :
1-کاربر با استفاده از بعضی زیر زبان داده ها مانند
SQL ( که به تفضیل در فصل های آتی به آن اشاره خواهد شد) در خواست یک دسترسی می نماید.
2-
DBMS در خواست مورد نظر را دریافت وآن را تحلیل می کند.
3-
DBMS بترتیب دید کاربر از داده های ذخیره شده و حفظ امنیت داده در محیط بانک اطلاعاتی را بازرسی و مرور می کند. (‌کنترل امنیت و جامعیت داده ها )‌
4-
DBMS عملکردهای لازم را برای داده های ذخیره شده اجرا می کند.

« DBMS «برنامه های کاربران   فایل و داده ها«سیستم عامل 


محیط DBMS
اجزاء اصلی سیستم بانک اطلاعاتی عبارتند از : داده ها، سخت افزار، نرم افزار و کاربران که در این جا به تشریح آنها خواهیم پرداخت.

داده ها (
Data )‌ داده که قبلا به آن شاره گردید از مهمترین اجزاء DBMS می باشد. مجتمع و اشتراکی بودن داده ها به عنوان مزایای اصلی سیستم پایگاه داده ها در محیط های بزرگ بشمار می رود.


سخت افزار ( Hardware )
سخت افزار مورد نیاز
DBMS معمولا عبارتند از:
1-سخت افزار ذخیره سازی داده: در عملیات ذخیره سازی اده ها در محیط های بانک اطلاعاتی از دیسکهای سریع و با ظرفیت بالا استفاده می شود.
2-سخت افزار پردازنده های مرکزی: با پیشرفت فناوری انفورماتیک، سیستم هایی به بازار عرضه شده اند که از نظر معماری پردازنده مرکزی، حافظه اصلی و سایر قسمتها از پیکربندی ویژه ای جهت ذخیره و بازیابی اطلاعات برخوردارند و به لحاظ این ویژگی ها کاربرد بیشتری در محیط های بانک اطلاعاتی خواهند داشت.
3-سخت افزار ارتباطی: مجموعه امکانات سخت افزاری که برای برقراری ارتباط بین کامپیوترها و دستگاهها جانبی و همچنین مابین چندین کامپیوتر ( به صورت شبکه ای ) استفاده می شوند را تحت عنوان سخت افزارهای ارتباطی بانک های اطلاعاتی می شناسند.


نرم افزار ( Software )
نرم افزار شامل خود
DBMS و برنامه های کاربردی، سیستم عامل و نیز نرم افزارهای شبکه ای است. برای استفاده DBMS در محیط شبکه عمدتا از برنامه های کاربردی نوشته شده به زبانهای برنامه نویسی نسل سوم مانند C ، کوبول، پاسکال و .... و یا زبانهای نسل چهارم مانند SQL استفاده می شود. هدف نرم افزارهای DBMS ارائه چهار ابزار اصلی است که عبارتند از :
1-زبانهای پرس و جو (‌
Query Language )
2-گزارش ها (
Report )
3-فرم ها (
Forms )
4-تصاویر (
Graphics )‌


کاربران (‌Users )
کاربران یا کسانی که به نحوی با سیستم در ارتباط هستند به چهار دسته مهم تقسیم می شوند:
1-مدیران بانک اطلاعاتی یا
DBA
2-طراحان بانک اطلاعاتی یا
DBD
3-برنامه نویسان بانک اطلاعاتی یا
DBP
4-کاربران نهایی یا ساتفاده کنندگان سیستم (
End Users )


اصول معماری سیستم های بانک اطلاعاتی
با توجه به گفته های بالا در می یابیم که سیستم بانک اطلاعاتی ،سیستمی چند سطحی است. این سیستم بوسیله امکانات سیستم مدیریت بانک اطلاعاتی ایجاد شده و در اختیار کاربران قرار می گیرد. در نظر داشته باشید که این سیستم چند سطحی دارای یک معماری خاص می باشد که بیانگر نحوه تعریف داده ها در سطوح مورد نظر است.


وظایف DBMS
وظایف سیستم مدیریت بانک اطلاعاتی بستگی به نوع کاربران آن دارد این وظایف در چارچوب واحدهای نرم افزاری طراحی و پیاده سازی می شوند. هر چند وظایف
DBMS در سیستم های مختلف تا حدودر متفاوت است، اما به طور کلی این وظایف عبارتند از:
•تعریف داده ها
•تامین امکان دستکاری داده ها
•ایجاد دیکشنری داده ها
•کنترل امنیت و جامعیت داده ها
•ایجاد امکان بازیابی از بانک اطلاعاتی
•بهنگام سازی داده ها
•تامین امکان کنترل کارایی
•تامین تسهیلاتی برای کاربران به منطور توسعه سیستم


برای انجام این وظایف می بایست واحدهای نرم افزاری مربوط در سیستم مدیریت بانک اطلاعاتی وجود داشته باشد. هر کدام از این واحدها ممکن است مرکب از چند واحد کوچکتر باشند. توجه داشته باشید که هر سیستم نیازمند یک بخش کنترلی است. در سیستم مدیریت بانک اطلاعاتی ، مجموعه واحدهایی که وظایف کنترلی را بر عهده دارند اصطلاحا به سیستم کنترل بانک اطلاعاتی معروف می باشند. به طور کلی واحدهای زیر در سیستم کنترل بانک اطلاعاتی وجود دارند:
•واحد نظارت بر اجرای برنامه کاربر
•واحد کامپایل کننده احکام و درخواستها
•واحد دستیابی به بانک فیزیکی
•واحد ثبت رویدادها و تغیراتی که در بانک ایجاد می شوند.

 

 

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

 

سیستم مدیریت پایگاه داده یا به طور خلاصه (DataBase Management System) DBMS مهمترین نرم افزاری در سیستم پایگاه داده است که به عنوان رابط بین پایگاه داده و کاربر و برنامه ها ی کاربردی عمل می نماید.

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

DBMS سرویس هائی جهت دسترسی داده در پایگاه داده فراهم می کند به نحوی که از کلیه خواص داده محافظت شود.


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

 

وظایف DBMS در سیستم های مختلف تا حدودی متقاوت بوده و بستگی به نوع کاربران آن دارد. اما به طور کلی این وظایف عبارتند از:

1. امکان تعریف پایگاه داده
2. امکان ایجاد پایگاه داده
3. امکان دستکاری داده ها
4. بازیابی پایگاه داده
5. بهنگام سازی پایگاه داده (عملیات درج، حذف و جایگزینی)
6. تامین تسهیلاتی برای کاربر به منظور توسعه سیستم
7. امکان سازماندهی مجدد
8. کنترل امنیت و جامعیت داده ها
9. ایجاد دیکشنری داده ها
10. امکان کنترل کارائی


تراکنش

 

تراکنش (transaction) یک برنامه فعال است که دنباله ای از دستورات را شامل می شود و به طور خاص بعضی عملیات آن روی پایگاه داده است.

سه عمل تراکنشی خاص وجود دارد: start که نشان می دهد یک تراکنش دارد شروع می شود، commit که دلالت بر اتمام عادی تراکنش دارد و abort که بیان کننده پایان یافتن تراکنش به دلیل سقط آن است و کلیه اثرات ترکنش سقط شده باید rollback یا بی اثر شود. وقتی تراکنش commit می شود تاثیرش روی پایگاه داده باید دائمی شود.

هر تراکنش باید پایگاه داده را از یک حالت سازگار به حالت سازگار بعدی ببرد. تراکنش باید دارای خواص ACID باشد تا پایگاه داده را در حالت سازگار باقی نگهدارد. خواص ACID حروف اول چهار خاصیت زیر می باشند:

1. اتمیسیته (Atomicity)

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

2. سازگاری (Consistency)

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

3. ایزوله بودن (Isolation)

تراکنشی که در حال اجراست و هنوز به پایان نرسیده تاثیرش از بقیه مخفی است مگر اینکه commit شده باشند. اجرای همروند تراکنش ها باید به صورتی باشد که انگار پشت سرهم اجرا شده اند. حفظ این خاصیت بر عهده کنترل همروندی است.

4. ماندگاری (Durability)

از وقتی تراکنشی commit شد تاثیرش دائمی است؛ حتی اگر سیستم خراب شود داده در حالت درست خود باقی می ماند.


اجزای سیستم مدیریت پایگاه داده

 

وظایف DBMS توسط تعدادی مولفه نرم افزاری انجام می شود. هر کدام از این مولفه ها ممکن است مرکب از چند واحد کوچکتر باشند. تعدادی از سرویس های که توسط مولفه های DBMS داده می شوند در زیر لیست شده است:

1. پردازش تراکنش (Transaction Processing)

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

2. کنترل همروندی (Concurrency Control)

مدیریت اجرای همروند تراکنش ها روی پایگاه داده در حین برقراری سازگاری را به عهده دارد.

3. ترمیم (Recovery)

ترمیم تضمین می کند که اگر اجرای تراکنش با عدم موفقیت یا سقط روبرو شد، تاثیر نامطلوبی روی پایگاه داده یا تراکنش های دیگر نگذارد و حالت پایگاه داده را همیشه سازگار نگه دارد.

4. مدیریت ثبت احوال(Log Management)

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

5. واسطه زبانی (Language Interface)

دستوراتی را برای تعریف داده، کار کردن با آن دراختیار کاربران و برنامه های کاربردی قرار می دهد.

6. تحمل پذیری خطا(Fault Tolerancy )

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

7. کاتالوگ داده (Data Catalog)

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

8. امنیت (Security)

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

9. مدیریت ذخیره سازی (Storage Management)

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

10. مدیریت قفل (Lock Management)

هنگام استفاده اشتراکی از داده انواع مختلفی از قفل روی داده گذاشته می شود (مثل Read Lock و Write Lock).

11. مدیریت بن بست (Deadlock Management)

بن بست وقتی اتفاق می افتد که تراکنش ها برای بدست آوردن منابع در یک دایره بسته قرار گیرند یعنی هر یک منبعی در اختیار دارد که مورد تقاضای دیگری است و درخواست منبعی را می کند که در اختیار تراکنش منتظر منبع است. در پایگاه داده منابع رکوردها هستند. مدیریت منبع مسئول رفع این مشکل هستند.


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

 

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

سیستم مدیریت پایگاه داده توزیع شده (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)

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

 

 

 


comment نظرات ()