اصول پایگاه داده ها |
اصول پایگاه داده ها در این مقاله میخوانید: پایگاه دادهها تاریخچه پایگاه داده انواع دادگان ها مدلهای پایگاه داده ویژگیهای سیستم مدیریت پایگاه دادهها فهرست سیستمهای متداول مدیریت دادگان منابع مفید پیرامون این مبحث پایگاه دادهها پایگاه دادهها یا دادِگان ( یا بانک اطلاعاتی) به مجموعهای از دادههابا ساختار منظم و سامانمند گفته میشود. پایگاههای دادهها معمولاً در قالبی که برای دستگاهها و رایانهها قابل خواندن و دسترسی باشد ذخیره میشوند. البته چنین شیوه ذخیرهسازی اطلاعات تنها روش موجود نیست و شیوههای دیگری مانند ذخیرهسازی ساده در پروندهها نیز استفاده میگردد. مسئلهای که ذخیرهسازی دادهها در دادگان را موثر میسازد وجود یک ساختار مفهومی است برای ذخیرهسازی و روابط بین دادهها است. پایگاه داده در اصل مجموعهای سازمان یافته از اطلاعات است.این واژه از دانش رایانه سرچشمه میگیرد ،اما کاربرد وسیع و عمومی نیز دارد، این وسعت به اندازهای است که مرکز اروپایی پایگاه داده (که تعاریف خردمندانهای برای پایگاه داده ایجاد میکند) شامل تعاریف غیر الکترونیکی برای پایگاه داده میباشد. در این نوشتار به کاربردهای تکنیکی برای این اصطلاح محدود میشود. یک تعریف ممکن این است که: پایگاه داده مجموعهای از رکوردهای ذخیره شده در رایانه با یک روش سیستماتیک (اصولی) مثل یک برنامه رایانهای است که میتواند به سوالات کاربر پاسخ دهد. برای ذخیره و بازیابی بهتر، هر رکورد معمولاً به صورت مجموعهای از اجزای دادهای یا رویدادها سازماندهی میگردد. بخشهای بازیابی شده در هر پرسش به اطلاعاتی تبدیل میشود که برای اتخاذ یک تصمیم کاربرد دارد. برنامه رایانهای که برای مدیریت و پرسش و پاسخ بین پایگاههای دادهای استفاده میشود را مدیر سیستم پایگاه دادهای یا به اختصار (DBMS) مینامیم. خصوصیات و طراحی سیستمهای پایگاه دادهای در علم اطلاعات مطالعه میشود. مفهوم اصلی پایگاه داده این است که پایگاه داده مجموعهای از رکوردها یا تکههایی از یک شناخت است.نوعا در یک پایگاه داده توصیف ساخت یافتهای برای موجودیتهای نگه داری شده در پایگاه داده وجود دارد: این توصیف با یک الگو یا مدل شناخته میشود. مدل توصیفی، اشیا پایگاههای داده و ارتباط بین آنها را نشان میدهد. روشهای متفاوتی برای سازماندهی این مدلها وجود دارد که به آنها مدلهای پایگاه داده گوییم. پرکاربردترین مدلی که امروزه بسیار استفاده میشود، مدل رابطهای است که به طور عام به صورت زیر تعریف میشود: نمایش تمام اطلاعاتی که به فرم جداول مرتبط که هریک از سطرها و ستونها تشکیل شده است(تعریف حقیقی آن در علم ریاضیات بررسی میشود). در این مدل وابستگیها به کمک مقادیر مشترک در بیش از یک جدول نشان داده میشود. مدلهای دیگری مثل مدل سلسله مراتب و مدل شبکهای به طور صریح تری ارتباطها را نشان میدهند.
تاریخچه پایگاه داده اولین کاربردهای اصطلاح پایگاه داده به June 1963 باز میگردد، یعنی زمانی که شرکت System Development Corporation مسئولیت اجرایی یک طرح به نام "توسعه و مدیریت محاسباتی یک پایگاه دادهای مرکزی" را بر عهده گرفت. پایگاه داده به عنوان یک واژه واحد در اوایل دهه 70 در اروپا و در اواخر دهه 70 در خبر نامههای معتبر آمریکایی به کار رفت.(بانک دادهای یا Databank در اوایل سال 1966 در روزنامه واشنگتن پست کار رفت) اولین سیستم مدیریت پایگاه داده در دهه 60 گسترش یافت. از پیشگامان این شاخه چارلز باخمن میباشد. مقالات باخمن این را نشان داد که فرضیات او کاربرد بسیار موثرتری برای دسترسی به وسایل ذخیره سازی را محیا میکند. در آن زمانها پردازش داده بر پایه کارتهای منگنه و نوارهای مغناطیسی بود که پردازش سری اطلاعات را مهیا میکند. دو نوع مدل دادهای در آن زمانها ایجاد شد:CODASYL موجب توسعه مدل شبکهای شدکه ریشه در نظریات باخمن داشت و مدل سلسله مراتبی که توسط North American Rockwell ایجاد شد و بعدا با اقباس از آن شرکت IBMمحصولIMS را تولید نمود. مدل رابطهای توسط E. F. Cod d در سال 1970 ارائه شد.او مدلهای موجود را مورد انتقاد قرار میداد. برای مدتی نسبتاً طولانی این مدل در مجامع علمی مورد تایید بود. اولین محصول موفق برای میکرو کامپیوترها dBASE بودکه برای سیستم عامل هایCP/M و PC-DOS/MS-DOS ساخته شد. در جریان سال 1980 پژوهش بر روی مدل توزیع شده (distributed database) و ماشینهای دادگانی (database machines) متمرکز شد، اما تأثیر کمی بر بازار گذاشت. در سال 1990 توجهات به طرف مدل شی گرا(object-oriented databases) جلب شد. این مدل جهت کنترل دادههای مرکب لازم بود و به سادگی بر روی پایگاه دادههای خاص، مهندسی داده شامل مهندسی نرم افزار منابع و دادههای چند رسانهای کار میکرد. در سال 2000 نوآوری تازهای رخ داد و دادگان اکسامال (XML) به وجود آمد. هدف این مدل از بین بردن تفاوت بین مستندات و دادهها است و کمک میکند که منابع اطلاعاتی چه ساخت یافته باشند یا نه در کنار هم قرار گیرند. انواع دادگان ها دادگانها از نظر ساختار مفهومی و شیوهای رفتار با دادهها بر دو نوع هستند : دادگان رابطهای دادگان شیگرا مدلهای پایگاه داده شگردهای مختلفی برای مدلهای دادهای وجود دارد. بیشتر سیستمهای پایگاه دادهای هر چند بطور معمول بیشتر از یک مدل را مورد حمایت قرار میدهند، حول یک مدل مشخص ایجاد شده اند. برای هر یک از الگوهایهای منطقی (logical model) اجراهای فیزیکی مختلفی قابل پیاده شدن است و سطوح کنترل مختلفی در انطباق فیزیکی برای کاربران مهیامیکند. یک انتخاب مناسب تأثیر موثری بر اجرا دارد. مثالی از موارد الگوی رابطهای (relational model) است: همه رویدادهای مهم در مدل رابطهای امکان ایجاد نمایههایی که دسترسی سریع به سطرها در جدول را میدهد،فراهم میشود. یک مدل دادهای تنها شیوه ساختمان بندی دادهها نیست بلکه معمولاً به صورت مجموعهای از عملیاتها که میتواند روی دادهها اجرا شود تعریف میشوند. برای مثال در مدل رابطهای عملیاتی همچون گزینش (selection)، طرح ریزی (projection) و اتصال (join) تعریف میگردد. مدل تخت مدل تخت یا جدولی (flat (or table) model) تشکیل شده است از یک آرایه دو بعدی با عناصر دادهای که همه اجزای یک ستون به صورت دادههای مشابه فرض میشود و همه عناصر یک سطر با هم در ارتباط هستند. برای نمونه در ستونهایی که برای نام کاربری و رمز عبور در جزئی از سیستمهای پایگاه دادهای امنیتی مورد استفاده قرار میگیرد هر سطر شامل رمز عبوری است که مخصوص یک کاربر خاص است. ستونهای جدول که با آن در ارتباط هستند به صورت داده کاراکتری، اطلاعات زمانی، عدد صحیح یا اعداد ممیز شناور تعریف میشوند. این مدل پایه برنامههای محاسباتی(spreadsheet) است. پایگاه دادهها با فایلهای تخت به سادگی توسط فایلهای متنی تعریف میشوند. هر رکورد یک خط است و فیلدها به کمک جدا کنندههایی از هم مجزا میشوند. فرضا به مثال زیر دقت کنید: id name team دادههای هر ستون مشابه هم است ما به این ستونها فیلدها (fields) گوییم. و هر خط را غیر از خط اول یک رکورد(record) مینامیم. خط اول را که برخی پایگاههای دادهای آن را ندارند رکورد برچسب(field labels) گوییم. هر مقدار دادهای اندازه خاص خود را دارد که اگر به آن اندازه نرسد میتوان از کاراکنر فاصله برای این منظور استفاده کرد اما این مسئله مخصوصا زمانی که بخواهیم اطلاعات را بر روی کارتهای منگنه قرار دهیم مشکل ساز خواهد شد. امروزه معمولاً از نویسه TAB برای جداسازی فیلدها و کاراکتر خط بعد برای رکورد بعدی استفاده میکنیم. البته شیوههای دیگری هم وجود دارد مثلاً به مثال زیر دقت کنید: "1","Amy","Blues" این مثال از جدا کننده کاما استفاده میکند.در این نوع مدل تنها قابلیت حذف،اضافه،دیدن و ویرایش وجود دارد که ممکن است کافی نباشد.Microsoft Excel این مدل را پیاده سازی میکند. مدل شبکه ای(Network) در سال 1969 و در کنفرانس زبانهای سیستمهای دادهای (CODASYL) توسطCharles Bachman ارائه شد. در سال 1971 مجدداً مطرح شد و اساس کار پایگاه دادهای قرار گرفت و در اوایل دهه 80 با ثبت آن درسازمان بین المللی استانداردهای جهانی یا ISO به اوج رسید. مدل شبکهای (database model) بر پایه دو سازه مهم یعنی مجموعهها و رکوردها ساخته میشود و برخلاف روش سلسله مراتبی که از درخت استفاده میکند، گراف را به کار میگیرد. مزیت این روش بر سلسله مراتبی این است که مدلهای ارتباطی طبیعی بیشتری را بین موجودیتها فراهم میکند. علی رغم این مزیتها به دو دلیل اساسی این مدل با شکست مواجه شد: اول اینکه شرکت IBM با تولید محصولات IMS و DL/I که بر پایه مدل سلسله مراتبی است این مدل را نادیده گرفت. دوم اینکه سرانجام مدل رابطهای (relational model) جای آن را گرفت چون سطح بالاتر و واضح تر بود. تا اوایل دهه 80 به علت کارایی رابطهای سطح پایین مدل سلسله مراتبی و شبکهای پیشنهاد میشد که بسیاری از نیازهای آن زمان را برطرف میکرد. اما با سریعتر شدن سخت افزار به علت قابلیت انعطاف و سودمندی بیشتر سیستمهای رابطهای به پیروزی رسیدند. رکوردها در این مدل شامل فیلدهایی است(ممکن است همچون زبان کوبول (COBOL) به صورت سلسله مراتب اولویتی باشد). مجموعهها با ارتباط یک به چند بین رکوردها تعریف میشود: یک مالک و چند عضو. عملیاتهای مدل شبکهای از نوع هدایت کننده است: یک برنامه در موقعیت جاری خود باقی میماند و از یک رکورد به رکورد دیگر میرود هر گاه که ارتباطی بین آنها وجود داشته باشد. معمولاً از اشارهگرها(pointers) برای آدرس دهی مستقیم به یک رکورد در دیسک استفاده میشود. با این تکنیک کارایی بازیابی اضافه میشود هر چند در نمایش ظاهری این مدل ضروری نیست . مدل رابطهای مدل رابطهای (relational model) در یک مقاله تحصیلی توسط E. F. Codd در سال 1970 ارائه گشت. این مدل یک مدل ریاضیاتی است که با مفاهیمی چون مستندات منطقی (predicate logic) و تئوری مجموعهها (set theory) در ارتباط است. محصولاتی همچون اینگرس،اراکل، DB2 وسرور اسکیوال (SQL Server) بر این پایه ایجاد شده است. ساختار دادهها در این محصولات به صورت جدول است با این تفاوت که میتواند چند سطر داشته باشد. به عبارت دیگر دارای جداول چند گانه است که به طور صریح ارتباطات بین آنها بیان نمیشود و در عوض کلیدهایی به منظور تطبیق سطرها در جداول مختلف استفاده میشود. به عنوان مثال جدول کارمندان ممکن است ستونی به نام "موقعیت" داشته باشد که کلید جدول موقعیت را با هم تطبیق میدهد. پایگاه دادههای شیء اگر چه سیستمهای چند بعدی نتوانستند بازار را تسخیر نمایند، اما به توسعه سیستمهای شیء منجر شدند. این سیستمها که مبتنی بر ساختار و مفاهیم سیستمهای چند بعدی هستند، به کاربر امکان میدهند تا اشیاء را به طور مستقیم در پایگاه دادهها ذخیره نماید. بدین ترتیب ساختار برنامه نویسی شیء گرا (object oriented) را میتوان به طور مستقیم و بدون تبدیل نمودن به سایر فرمتها، در پایگاه دادهها مورد استفاده قرار داد. این وضعیت به دلیل مفاهیم مالکیت (ownership) در سیستم چند بعدی، رخ میدهد. در برنامه شیء گرا (OO)، یک شیء خاص "مالک " سایر اشیاء در حافظه است، مثلاً دیوید مالک نشانی خود است. در صورتی که مفهوم مالکیت در پایگاه دادههای رابطهای وجود ندارد. ویژگیهای سیستم مدیریت پایگاه دادهها پس از این مقدمه به توصیف سیستم مدیریت پایگاه دادهها میپردازیم. سیستم مدیریت پایگاه دادهها، مجموعهای پیچیده از برنامههای نرمافزاری است که ذخیره سازی و بازیابی دادههای (فیلدها، رکوردها و فایلها) سازمان را در پایگاه دادهها، کنترل میکند. این سیستم، کنترل امنیت و صحت پایگاه دادهها را نیز بر عهده دارد. سیستم مدیریت پایگاه دادهها، درخواستهای داده را از برنامه میپذیرد و به سیستم عامل دستور میدهد تا دادهها ی مناسب را انتقال دهد. هنگامی که چنین سیستمی مورد استفاده قرار میگیرد، اگر نیازمندیهای اطلاعاتی سازمانی تغییر یابد، سیستمهای اطلاعاتی نیز آسانتر تغییر خواهند یافت. سیستم مذکور از صحت پایگاه دادهها پشتیبانی میکند. بدین ترتیب که اجازه نمیدهد بیش از یک کاربر در هر لحظه، یک رکورد را به روز رسانی کند. این سیستم رکوردهای تکراری را در خارج پایگاه دادهها نگاه میدارد. برای مثال، هیچ دو مشترک با یک شماره مشتری، نمیتوانند در پایگاه دادهها وارد شوند. این سیستم روشی برای ورود و به روز رسانی تعاملی پایگاه دادهها فراهم میآورد. یک سیستم اطلاعات کسب و کار از موضوعاتی نظیر (مشتریان، کارمندان، فروشندگان و غیره) و فعالیتهایی چون (سفارشات، پرداختها، خریدها و غیره) تشکیل شده است. طراحی پایگاه دادهها، فرایند تصمیم گیری درباره نحوه سازماندهی این دادهها در انواع رکوردها و برقراری ارتباط بین رکوردهاست.سیستم مدیریت پایگاه دادهها میتواند ساختار دادهها و ارتباط آنها را در سازمان به طور اثر بخش نشان دهد. سه نوع مدل متداول سازمانی عبارتاند از: سلسله مراتبی، شبکهای و رابطهای. یک سیستم مدیریت پایگاه دادهها ممکن است یک، دو یا هر سه روش را فراهم آورد. سرورهای پایگاه دادهها، کامپیوترهایی هستند که پایگاه دادههای واقعی را نگاه میدارند و فقط سیستم مدیریت پایگاه دادهها و نرمافزار مربوطه را اجرا میکنند. معمولاً این سرورها رایانههای چند پردازندهای با آرایههای دیسک RAID برای ذخیره سازی هستند. فهرست سیستمهای متداول مدیریت دادگان معروفترین این نرمافزارهای مدیریت دادگانها میتوان به چند نمونه زیر اشاره کرد: Oracle Microsoft SQL Server MySQL PostregSQL DB2 Microsoft Access منابع مفید پیرامون این مبحث: سامانههای مدیریّت پایگاه دادهها سایت تخصصی پایگاه داده SQLIran انجمن های تخصصی پایگاه داده SQLIran
|