بخش 1 : مقدمه
1-1 مقدمه ای بر بانک اطلاعاتی
دادِگان (پایگاه دادهها یا بانک اطلاعاتی) به مجموعهای از اطلاعات با ساختار منظم و سامانمند گفته میشود. این پایگاههای اطلاعاتی معمولاً در قالبی که برای دستگاهها و رایانهها قابل خواندن و قابل دسترسی باشند ذخیره میشوند. البته چنین شیوه ذخیرهسازی اطلاعات تنها روش موجود نیست و شیوههای دیگری مانند ذخیرهسازی ساده در پروندهها نیز استفاده میگردد. مسئلهای که ذخیرهسازی دادهها در دادگان را موثر میسازد وجود یک ساختار مفهومی است برای ذخیرهسازی و روابط بین دادههااست.
پایگاه داده در اصل مجموعهای سازمان یافته از اطلاعات است.این واژه از دانش رایانه سرچشمه میگیرد ،اما کاربر وسیع و عمومی نیز دارد، این وسعت به اندازهای است که مرکز اروپایی پایگاه داده (که تعاریف خردمندانهای برای پایگاه داده ایجاد میکند) شامل تعاریف غیر الکترونیکی برای پایگاه داده میباشد. در این نوشتار به کاربرد های تکنیکی برای این اصطلاح محدود میشود.
یک تعریف ممکن این است که: پایگاه داده مجموعهای از رکورد های ذخیره شده در رایانه با یک روش سیستماتیک (اصولی) مثل یک برنامه رایانهای است که میتواند به سوالات کاربر پاسخ دهد. برای ذخیره و بازیابی بهتر، هر رکورد معمولا به صورت مجموعهای از اجزای دادهای یا رویداد ها سازماندهی میگردد. بخش های بازیابی شده در هر پرسش به اطلاعاتی تبدیل میشود که برای اتخاذ یک تصمیم کاربرد دارد. برنامه رایانهای که برای مدیریت و پرسش و پاسخ بین پایگاههای دادهای استفاده میشود را مدیر سیستم پایگاه دادهای یا به اختصار (DBMS) مینامیم. خصوصیات و طراحی سیستم های پایگاه دادهای در علم اطلاعات مطالعه میشود.
مفهوم اصلی پایگاه داده این است که پایگاه داده مجموعهای از رکورد ها یا تکه هایی از یک شناخت است.نوعا در یک پایگاه داده توصیف ساخت یافتهای برای موجودیت های نگه داری شده در پایگاه داده وجود دارد: این توصیف با یک الگو یا مدل شناخته میشود. مدل توصیفی، اشیا پایگاههای داده و ارتباط بین آنها را نشان میدهد. روش های متفاوتی برای سازماندهی این مدل ها وجود دارد که به آنها مدل های پایگاه داده گوییم. پرکاربردترین مدلی که امروزه بسیار استفاده میشود، مدل رابطهای است که به طور عام به صورت زیر تعریف میشود: نمایش تمام اطلاعاتی که به فرم جداول مرتبط که هریک از سطر ها و ستونها تشکیل شده است (تعریف حقیقی آن در علم ریاضیات برسی میشود). در این مدل وابستگی ها به کمک مقادیر مشترک در بیش از یک جدول نشان داده میشود. مدل های دیگری مثل مدل سلسله مراتب و مدل شبکهای به طور صریح تری ارتباط ها را نشان میدهند.
در مباحث تخصصی تر اصتلاح دادگان یا پایگاه داده به صورت مجموعهای از رکورد های مرتبط با هم تعریف میشود. بسیاری از حرفهای ها مجموعهای از داده هایی با خصوصیات یکسان به منظور ایجاد یک پایگاه دادهای یکتا استفاده میکنند.
معمولا DBMS ها بر اساس مدل هایی که استفاده میکنند تقسیم بندی میشوند: ارتباطی،شی گرا، شبکهای و امثال آن. مدل های دادهای به تعیین زبانهای دسترسی به پایگاههای داده علاقه مند هستند. بخش قابل توجهی از مهندسی DBMS مستقل از مدل های میباشد و به فاکتور هایی همچون اجرا، همزمانی،جامعیت و بازیافت از خطاهای سخت افزاری وابسطه است.در این سطح تفاوت های بسیاری بین محصولات وجود دارد.
موارد زیر به صورت خلاصه شرح داده می شود:
2-1 تاریخچه پایگاه داده
3-1 انواع دادگان ها
4-1 مدل های پایگاه داده
1-4-1 مدل تخت
2-4-1 مدل شبکه ای(Network)
3-4-1 مدل رابطه ای
4-4-1 پایگاه دادههای چند بعدی
5-4-1 پایگاه دادههای شیء
5-1 ویژگیهای سیستم مدیریت پایگاه دادهها
6-1 فهرست سیستمهای متداول مدیریت دادگان
2-1 تاریخچه پایگاه داده
اولین کاربردهای اصطلاح پایگاه داده به June 1963 باز میگردد، یعنی زمانی که شرکت System Development Corporation مسئولیت اجرایی یک طرح به نام "توسعه و مدیریت محاسباتی یک پایگاه دادهای مرکزی" را بر عهده گرفت. پایگاه داده به عنوان یک واژه واحد در اوایل دهه 70 در اروپا و در اواخر دهه 70 در خبر نامههای معتبر آمریکایی به کار رفت.(بانک دادهای یا Databank در اوایل سال 1966 در روزنامه واشنگتن کار رفت).
تصویر:اولین سیستم مدیریت پایگاه داده در دهه 60 گسترش یافت. از پیشگامان این شاخه چارلز باخمن میباشد. مقالات باخمن این را نشان داد که فرضیات او کاربرد بسیار موثرتری برای دسترسی به وسایل ذخیره سازی را مهیا میکند. در آن زمانها پردازش داده بر پایه کارت های منگنه و نوار های مغناطیسی بود که پردازش سری اطلاعات را مهیا میکند. دو نوع مدل دادهای در آن زمانها ایجاد شد:CODASYL موجب توسعه مدل شبکهای شدکه ریشه در نظریات باخمن داشت و مدل سلسله مراتبی که توسط North American Rockwell ایجاد شد و بعدا با اقباس از آن شرکت IBM محصولIMS را تولید نمود.
مدل رابطهای توسط E. F. Codd در سال 1970 ارائه شد.او مدل های موجود را مورد انتقاد قرار میداد. برای مدتی نسبتا طولانی این مدل در مجامع علمی مورد تایید بود. اولین محصول موفق برای میکرو کامپیوتر ها dBASE بودکه برای سیستم عامل هایCP/M و PC-DOS/MS-DOS ساخته شد. در جریان سال 1980 پژوهش بر روی مدل توزیع شده (distributed database) و ماشین های دادگانی (database machines) متمرکز شد، اما تاثیر کمی بر بازار گذاشت. در سال 1990 توجهات به طرف مدل شی گرا(object-oriented databases) جلب شد. این مدل جهت کنترل دادههای مرکب لازم بود و به سادگی بر روی پایگاه دادههای خاص، مهندسی داده(شامل مهندسی نرم افزار منابع) و دادههای چند رسانهای کار میکرد.
در سال 2000 نوآوری تازهای رخ داد و دادگان اکسامال (XML) به وجود آمد. هدف این مدل از بین بردن تفاوت بین مستندات و داده ها است و کمک میکند که منابع اطلاعاتی چه ساخت یافته باشند یا نه در کنار هم قرار گیرند
3-1 انواع دادگان ها
دادگانها از نظر ساختار مفهومی و شیوهای رفتار با دادهها بر دو نوع هستند :
1.دادگان رابطهای
2.دادگان شیگرا
4-1 مدل های پایگاه داده
شگرد های مختلفی برای مدل های دادهای وجود دارد. بیشتر سیستم های پایگاه دادهای هر چند که طور معمول بیشتر از یک مدل را مورد حمایت قرار میدهند، حول یک مدل مشخص ایجاد شده اند. برای هر یک از الگوهای های منطقی (logical model) اجراهای فیزیکی مختلفی قابل پیاده شدن است و سطوح کنترل مختلفی در انطباق فیزیکی برای کاربران محیا میکند. یک انتخاب مناسب تاثیر مثری بر اجرا دارد.مثالی از موارد الگوی رابطهای (relational model) است: همه رویدادهای مهم در مدل رابطهای امکان ایجاد نمایههایی که دسترسی سریع به سطرها در جدول را میدهد،فراهم میشود.
یک مدل دادهای تنها شیوه ساختمان بندی داده ها نیست بلکه معمولا به صورت مجموعهای از عملیات ها که میتواند روی داده ها اجرا شود تعریف میشوند. برای مثال در مدل رابطهای عملیاتی همچون گزینش (selection)، طرح ریزی (projection) و اتصال (join) تعریف میگردد.
1-4-1 مدل تخت
مدل تخت یا جدولی (flat (or table) model ) تشکیل شده است از یک آرایه دو بعدی با عناصر دادهای که همه اجزای یک ستون به صورت دادههای مشابه فرض میشود و همه عناصر یک سطر با هم در ارتباط هستند. برای نمونه در ستون هایی که برای نام کاربری و رمز عبور در جزئی از سیستم های پایگاه دادهای امنیتی مورد استفاده قرار میگیرد هر سطر شامل رمز عبوری است که مخصوص یک کاربر خاص است. ستون های جدول که با آن در ارتباط هستند به صورت داده کاراکتری، اطلاعات زمانی، عدد صحیح یا اعداد ممیز شناور تعریف میشوند. این مدل پایه برنامههای محاسباتی(spreadsheet) است.
پایگاه داده ها با فایل های تخت به سادگی توسط فایل های متنی تعریف میشوند. هر رکورد یک خط است و فیلد ها به کمک جدا کننده هایی از هم مجزا میشوند. فرضا به مثال زیر دقت کنید:
id name team
1 Amy Blues
2 Bob Reds
3 Chuck Blues
4 Dick Blues
5 Ethel Reds
6 Fred Blues
7 Gilly Blues
8 Hank Reds
دادههای هر ستون مشابه هم است ما به این ستونها فیلد ها (fields) گوییم. و هر خط را غیر از خط اول یک رکورد(record) مینامیم. خط اول را که برخی پایگاههای دادهای آنرا ندارند رکورد برچسب(field labels) گوییم. هر مقدار دادهای اندازه خاص خود را دارد که اگر به آن اندازه نرسد میتوان از کاراکنر فاصله برای این منظور استفاده کرد اما این مسئله مخصوصا زمانی که بخواهیم اطلاعات را بر روی کارت های منگنه قرار دهیم مشکل ساز خواهد شد. امروزه معمولا از نویسه TAB برای جداسازی فیلد ها و کاراکتر خط بعد برای رکورد بعدی استفاده میکنیم. البته شیوههای دیگری هم وجود دارد مثلا به مثال زیر دقت کنید:
"1","Amy","Blues"
"2","Bob","Reds"
"3","Chuck","Blues"
"4","Dick","Blues"
"5","Ethel","Reds"
"6","Fred","Blues"
"7","Gilly","Blues"
"8","Hank","Reds"
این مثال از جدا کننده کاما استفاده میکند.در این نوع مدل تنها قابلیت حذف،اضافه،دیدن و ویرایش وجود دارد که ممکن است کافی نباشد.Microsoft Excel این مدل را پیاده سازی میکند.