پایگاههای دادهها معمولاً در قالبی که برای دستگاهها و رایانهها قابل خواندن و دسترسی باشد ذخیره میشوند. البته چنین شیوه ذخیرهسازی اطلاعات تنها روش موجود نیست و شیوههای دیگری مانند ذخیرهسازی ساده در پروندهها نیز استفاده میگردد. آن چه ذخیرهسازی دادهها در پایگاههای دادهها را موثر میسازد وجود یک ساختار مفهومی برای ذخیرهسازی و روابط بین دادهها است.
پایگاههای دادهها معمولاً در قالبی که برای دستگاهها و رایانهها قابل خواندن و دسترسی باشد ذخیره میشوند. البته چنین شیوه ذخیرهسازی اطلاعات تنها روش موجود نیست و شیوههای دیگری مانند ذخیرهسازی ساده در پروندهها نیز استفاده میگردد. آن چه ذخیرهسازی دادهها در پایگاههای دادهها را موثر میسازد وجود یک ساختار مفهومی برای ذخیرهسازی و روابط بین دادهها است.
پایگاه داده در اصل مجموعهای سازمان یافته از اطلاعات است.این واژه از دانش رایانه سرچشمه میگیرد، اما کاربرد وسیع و عمومی نیز دارد، این وسعت به اندازهای است که مرکز اروپایی پایگاه داده (که تعاریف خردمندانهای برای پایگاه داده ایجاد میکند) شامل تعاریف غیر الکترونیکی برای پایگاه داده میباشد. در این نوشتار به کاربردهای تکنیکی برای این اصطلاح محدود میشود.
یک تعریف ممکن این است که: پایگاه داده مجموعهای از رکوردهای ذخیره شده در رایانه با یک روش سیستماتیک (اصولی) مثل یک برنامه رایانهای است که میتواند به سوالات کاربر پاسخ دهد. برای ذخیره و بازیابی بهتر، هر رکورد معمولاً به صورت مجموعهای از اجزای دادهای یا رویدادها سازماندهی میگردد. بخشهای بازیابی شده در هر پرسش به اطلاعاتی تبدیل میشود که برای اتخاذ یک تصمیم کاربرد دارد. برنامه رایانهای که برای مدیریت و پرسش و پاسخ بین پایگاههای دادهای استفاده میشود را مدیر سیستم پایگاه دادهای یا به اختصار (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,سیستمهای دیگری هم ایجاد و بعضاً بصورت تولید تجاری عرضه شدند, از جمله سیستم پایگاه شناخت (دانش), سیستم هوشمند مدیریت دادهها, سیستم مدیریت پایگاه دادهای شیی گرا و سیستم معنایی مدیریت دادهها ,هرچند بیشتر این سیستمها, هنوز در کاربردهای خاصی استفاده میشوند .
این سیستمها را گاه سیستمهای پس رابطهای مینامند . از میان این سیستمها پس رابطهای شاید سیستم مدیریت پایگاه دادههای شیی گرا بیشتر مورد استفاده محافل تکنیکی قرار میگیرد و تولیدات بیشتری از این نوع سیستم به بازار مصرف , عرضه شده و میشوند.
|
مقدمه ای بر پایگاه های داده |
|
|
|
|
سیستم مدیریت پایگاه داده یا به طور خلاصه (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 حروف اول چهار خاصیت زیر می باشند:
تراکنش ها اتمیک هستند یا اصلا شروع نمی شوند یا وقتی آغاز شدند حتما به پایان می رسند. یا همه عملیات انجام می شود یا هیچکدام. نگهداشتن خاصیت اتمیسیته به عهده کنترل همروندی و ترمیم است.
یک تراکنش یا پایگاه داده را به حالت سازگار جدیدی می برد یا اگر شکستی رخ داد کلیه داده ها به حالت قبل از شروع تراکنش برمی گردند.
تراکنشی که در حال اجراست و هنوز به پایان نرسیده تاثیرش از بقیه مخفی است مگر اینکه commit شده باشند. اجرای همروند تراکنش ها باید به صورتی باشد که انگار پشت سرهم اجرا شده اند. حفظ این خاصیت بر عهده کنترل همروندی است.
از وقتی تراکنشی commit شد تاثیرش دائمی است؛ حتی اگر سیستم خراب شود داده در حالت درست خود باقی می ماند.
وظایف DBMS توسط تعدادی مولفه نرم افزاری انجام می شود. هر کدام از این مولفه ها ممکن است مرکب از چند واحد کوچکتر باشند. تعدادی از سرویس های که توسط مولفه های DBMS داده می شوند در زیر لیست شده است:
پردازش تراکنش عملیاتی که از منابع مختلف می رسد را روی پایگاه داده اجرا می کند به نحوی که خواص مطلوب تراکنش خدشه دار نشود. سرویس های کنترل همروندی و ترمیم به این مولفه برای برقراری خواص ACID کمک می کنند. به این ترتیب اجرای همروند تراکنش ها و سازگاری پایگاه داده حتی در صورت وقوع شکستی در سیستم تضمین می شود.
مدیریت اجرای همروند تراکنش ها روی پایگاه داده در حین برقراری سازگاری را به عهده دارد.
ترمیم تضمین می کند که اگر اجرای تراکنش با عدم موفقیت یا سقط روبرو شد، تاثیر نامطلوبی روی پایگاه داده یا تراکنش های دیگر نگذارد و حالت پایگاه داده را همیشه سازگار نگه دارد.
هر اتفاقی در سیستم در یک فایل ذخیره می شود و توسط مدیریت ترمیم برای حفظ صحت و اعتبار پایگاه داده هنگام خرابی یا سقط سیستم استفاده می شود.
دستوراتی را برای تعریف داده، کار کردن با آن دراختیار کاربران و برنامه های کاربردی قرار می دهد.
توانائی ارائه سرویس های قابل اطمینان توسط DBMS حتی در صورت بروز نقص را تحمل پذیری خطا می گویند. انواع خطاهائی که ممکن است پیش بیاید عبارتند از:
• خطای منطقی : تراکنش موفق نمی شود مثلا به دلیل ورودی بد، سرریزی
• خطای سیستمی : تراکنش موفق نمی شود مثلا به دلیل بن بست
• سقط سیستم : قطع برق، پاک شدن حافظه اصلی، پر شدن دیسک
• ناتوانی دیسک : خرابی هد، خرابکاری عمدی، آتش سوزی،
یا دیکشنری داده یک پایگاه داده سیستمی شامل اطلاعاتی درباره داده، ارتباطات و قیدها در پایگاه اصلی است. گاهی به آن متاداده هم گفته می شود.
امنیت به محافظت داده در مقابل افشاشدن، تغییر و خرابی اشاره دارد. هر کابر و برنامه کاربردی امتیاز ویژه ای برای دسترسی به داده دارد. کاربران ممکن است دیدگاه های مختلفی نسبت به داده های پایگاه داده با توجه امتیازات ویژه خود داشته باشند. سیستم امنیتی همچنین، توسط رویه های شناسائی و مجوز، دسترسی به پایگاه داده را محدود می کند.
DBMS مکانیسم های خاصی برای ذخیره دائمی داده و دسترسی به منبع فیزیکی و بازیابی داده دارد. مدیر ذخیره سازی بین داده ذخیره شده در پایگاه داده و برنامه کاربردی و پرس و جوهای ارسال شده به سیستم واسطه می شود.
هنگام استفاده اشتراکی از داده انواع مختلفی از قفل روی داده گذاشته می شود (مثل Read Lock و Write Lock).
بن بست وقتی اتفاق می افتد که تراکنش ها برای بدست آوردن منابع در یک دایره بسته قرار گیرند یعنی هر یک منبعی در اختیار دارد که مورد تقاضای دیگری است و درخواست منبعی را می کند که در اختیار تراکنش منتظر منبع است. در پایگاه داده منابع رکوردها هستند. مدیریت منبع مسئول رفع این مشکل هستند.
انواع مختلفی از سیستم های پایگاه داده وجود دارند که هرکدام به منظور خاصی طراحی و پیاده شده اند. دسته بندی سیستم های پایگاه داده به صورت زیر انجام گرفته است:
سیستم های توزیع شده بر توزیع داده و همچنین همبستگی فعالیت ها و کنترل روی اجزای توزیع شده سیستم دلالت دارند. اکثر سیستم های توزیع شده برای تقسیم کردن بارکاری یا برای انتقال عملکردهای پردازش داده به نزدیکی محل انجام این وظایف است. در هردو حالت هدف نامحسوس بودن توزیع شدگی از دید کاربر است.
سیستم های بلادرنگ سیستم های سریع با سرعت پاسخگوئی بالا هستند که زمان انجام کلیه عملیات نقش مهمی در آنها دارد. سیستم بلادرنگ در تعامل با دنیای واقعی پاسخ قابل پیش بینی را در قاب زمان می دهد. ورودی، پردازش و پاسخ ها همگی از قبل تعریف شده هستند و حد زمانی مشخصی دارند و به نحوی بهینه می شوند که هر حالت ورودی یک حالت خروجی قابل پیش بینی دارد که همیشه در یک زمان و به یک روش اتفاق می افتد.
سیستم تحمل پذیر خطا سرویس هائی را دارد که با ناتوانی های اجزای سخت افزاری و نرم افزاری برخورد می کند. برای رسیدن به این منظورباید کلیه نقاطی که احتمال نقصی در آنها وجود دارد از قبل بررسی شده، ابزارهائی برای تشخیص، اصلاح و یا ترمیم آنها به نحوی طراحی شود که کمترین تاثیر را روی برنامه های کاربردی بگذارند. مکانیسم های RAID، Shadow Memory و کپی از جمله روش هائی هستند که استفاده می شوند.
در یک سیستم مطمئن کلیه اعمالی که کاربران و برنامه های کاربردی اجازه دارند انجام دهند همچنین زمان و مقدار انجام آنها کنترل می شوند. به عنوان مثال یک سیستم پرسنلی ممکن است درنظرداشته باشد به کلیه کاربران اجازه دستیابی به سابقه پرسنلی خودشان و استخراج اطلاعات شغلی شان را بدهد اما دسترسی به سابقه کارمندان دیگر یا حتی برخی اطلاعات مربوط به خودشان امکان پذیر نباشد. برای دادن چنین سرویسی سیستم پایگاه داده باید قابلیـت تعریف حقوق دسترسی و رسیدگی به آنها را درقبال کاربرانی که به داده دسترسی دارند داشته باشد.
سیستم ناهمگون از DBMS های مختلف تشکیل شده است. برای مثال شعب یک شرکت هر کدام منحصرا نیازهای پردازشی خود را با سخت افزار و نرم افزارجداگانه برطرف می کنند. اگر نیاز باشد این سیستم ها با هم فعل و انفعال داشته باشند و از طریق شبکه به هم پیوند داده شوند یک HTDBMS ایجاد می شود تا پایگاه داده های مختلف با هم ارتباط برقرار کند.
سیستم های محاسباتی چندرسانه ای انواع متنوعی از منابع داده ای گرافیکی، تصاویر ویدئویی، صوت و متن را استفاده و یا با هم ترکیب می کنند. این منابع داده ای پیچیده باید برای سیستم محاسباتی بسهولت قابل دسترس باشند. برای استفاده در برنامه های کاربردی interactive چنین سیستم هائی از ترکیب الزامات پایگاه داده های بلادرنگ با سیستم های گرافیکی تعاملی استفاده می کنند تا ارائه اطلاعات سنکرون شده و بلادرنگ حاصل شود.
نسل جدید سیستم های مدیریت پایگاه داده سعی دارند اطلاعات جمع آوری شده از سنسورها را مستقیما ذخیره کنند. این سیستم ها از پایگاه های دانش نیز حمایت می کنند.
نظرات ()