بانک اطلاعاتی
بانک اطلاعاتی چیست؟
پایگاه داده یا دیتا بیس یا DB (Database) یا پایگاه داده رابطهای یا بانک اطلاعاتی چیست؟ بانک اطلاعاتی مجموعهای از اطلاعات است که فعالیتهای یک یا چند سازمان مرتبط به هم را شرح میدهد. برای مثل پایگاه داده دانشگاه، شامل موجودیتهای: دانشجو، دانشکده ، درس و کلاس میباشد.
ارتباطات بین موجودیتها شامل:
- ثبتنام دانشجو در درسها
- درسهای ارائهشده در دانشکده
- استفاده از کلاس برای تدریس درس
پایگاه داده رابطهای DBMS (Database Management System) نرمافزاری است که کمک میکند مجموعه بزرگی از اطلاعات قابل نگهداری و بهرهبرداری شوند. برای مثال Oracle DB,MS SQL Server, IBM DB2,Postgre SQL نمونههایی از این نرمافزارها هستند.
ذخیرهسازی اطلاعات فایل سیستم در مقایسه با DBMS
میتوان برای ذخیره اطلاعات از RAM استفاده کرد. استفاده از RAM برای ذخیره اطلاعاتی چیزی است که اغلب زبانهای برنامهنویسی پیشنهاد میکنند. استفاده از RAM بسیار سریع است ولی فرار است و اطلاعات برای همیشه در RAM ذخیره نخواهند شد.
هر نوع سیستمعاملی فایل سیستم خاص خود را ارائه میکند. مهمترین مشخصات فایل سیستم عبارتاند از:
- اطلاعات در قالبهای متنوع، روی دیسک سخت و داخل فایل ذخیره میکند.
- قادر خواهید بود اطلاعات را نگهداری کنید، یعنی میتوان کارهای باز کردن فایل، خواندن فایل و نوشتن در فایل را انجام داد.
- میتوان مسائل امنیتی روی فایل اعمال کرد.
اما معایب بزرگی که فایل سیستم دارند عبارتاند از:
- قالب استانداردی ندارد.
- اطلاعات تکراری و وابسته وجود دارد.
- هیچ تمهیدات ویژه برای امنیت در دسترسی همزمان وجود ندارد.
پس از تعریف کوتاهی که از سیستم فایل ارائه شد، اکنون درباره سیستم مدیریت بانک اطلاعاتی توضیح خواهیم داد. مهمترین خصوصیتهای بانک اطلاعاتی عبارتاند از:
- ساده و کارآمد است و به پرسوجوهای موردی پاسخ میدهد.
- کنترل دسترسی همزمان وجود دارد.
- امکان بازیابی اطلاعات وجود دارد.
- امکان مدلسازی اطلاعات وجود دارد.
- اطلاعات را روی دیسک سخت ذخیره میکند.
- این امر مفهومی برای طراحی بانک اطلاعاتی دارد:
- خواندن: انتقال اطلاعات از دیسک به حافظه اصلی
- نوشتن: انتقال اطلاعات از حافظه اصلی به دیسک
- در سیستمهای مدیریت بانک اطلاعاتی رابطهای:
- از جبر رابطهای استفاده میشود.
- اطلاعات در رکوردهایی از جداول یا ارتباطات (relation) ذخیرهسازی میشوند.
بانک اطلاعاتی رابطهای
بانک اطلاعاتی رابطهای از مجموعهای از جدولها و طرحواره یا (schema) تشکیل میشود. طرحواره یا (schema) توصیفی از اصطلاحات مدل دادهای، بهاضافه جدولها و ویژگیهای آن را تعریف میکند. ساختار توصیف داده مرکزی رابطهای است که میتوان آن را بهصورت رکوردهایی تصور کرد. بهعنوانمثال اطلاعات دانشجو بهصورت رابطهای با طرحواره زیر است:
Student (
Sid : string,
Sname : string,
Login : string,
Gpa : numeric)
جدولها یا رابطهها زیرمجموعه حاصلضرب دکارتی نوع داده فیلدهای مختلف است که اطلاعاتی در خصوص موجودیتها در خود ذخیره میکند. همچنین متشکل از فیلدها یا ستونها و رکوردها میباشد. رکوردها همان tuple میباشند که اطلاعاتی در مورد قلم خاص را شرح میدهد. بهعنوانمثال دانشجو ستونها یا فیلدها همان ویژگیهای دانشجو هستند که هرکدام صفتهایی از آن قلم خاص را شرح میدهد. هر رکورد منحصربهفرد است و با کلیدی مشخص و متمایز میشود.
موجودیت (entity):
موجودیت یک شیء است که در دنیای واقعی بتوان آن را از سایر اشیا متمایز کرد. بهعنوانمثال: دانشجو و مدرس و درسهای ارائهشده و کلاسهای درس موجودیتهای مستقل هستند. موجودیت با استفاده از مجموعه ویژگیها توصیف میشوند که مقادیر دامنه آنها باید مشخص باشد.
نرمال سازی بانک اطلاعاتی
اولین فرم نرمالسازی یا ۱NF : در این فرم از نرمالسازی رکورد اطلاعاتی نمیتواند حاوی گروهی از اطلاعات تکراری باشد. هر رکورد اطلاعاتی باید مشخصه منحصربهفرد داشته باشد یعنی کلید اصلی داشته باشد.
دومین فرم نرمالسازی یا ۲NF : در این فرم از نرمالسازی باید جدولها اولین فرم نرمالسازی را رعایت کند. فیلدهای غیر کلید اصلی نباید وابستگی به بخشی از کلید اصلی را داشته باشند. برای مثال:
PK = (Manufacturer, Model)
Manufacturer country | Model full name | Model | Manufacturer |
Italy | Forte X-Prime | X-Prime | Forte |
Italy | Forte Ultra clean | Ultra clean | Forte |
USA | Dent-o-Fresh EZbrush | E2 Brush | Dento-o-Fresh |
جدول فوق بهصورت دومین فرم نرمالسازی نیست چراکه فیلد Manufacturer country به فیلد Manufacturer که بخشی از کلید اصلی است وابسته است. برای اینکه بتوانیم دومین فرم نرمالسازی را رعایت کنیم جدول فوق را باید به دو جدول زیر تبدیل کنیم:
PK= (Manufacturer)
Manufacturer country | Manufacturer |
PK= (Manufacturer, Model)
Model full name | Model | Manufacturer |
سومین فرم نرمالسازی یا ۳NF : در این فرم از نرمالسازی، اگر یک رابطه بانک اطلاعاتی همه فیلدهای جدول فقط به کلید اصلی وابسته باشند به آن رابطه سومین فرم نرمالسازی میگویند. مثال:
PK=(Tournament,year)
Winner’s date of birth | winner | year | tournament |
۲۱ July 1975 | Al Fredrickson | ۱۹۹۸ | Indiana Invitational |
۲۸ September 1968 | Bob Albertson | ۱۹۹۹ | Cleveland Open |
۲۱ July 1975 | Al Fredrickson | ۱۹۹۹ | Des Moines Masters |
۱۴ march 1977 | Chip Masterson | ۱۹۹۹ | Indiana Invitational |
در جدول فوق به دلیل اینکه فیلد Winner’s date of birth به فیلد Winner وابسته است و به کلید اصلی وابستگی ندارد، بنابراین قاعده سومین فرم نرمالسازی رعایت نشده است و اگر بخواهیم که فرم سوم نرمالسازی را رعایت کنیم جدول فوق را باید به دو جدول زیر تبدیل کنیم:
PK=(Tournament,year)
winner | year | Tournament |
PK=(winner)
Winner’s date of birth | winner |
تالیف و ترجمه: جناب آقای مهندس مهدی حجازی فر
در صورت تمایل برای کسب اطلاعات بیشتر با شماره تلفن مستقیم: ۰۲۱۸۶۱۱۱۷۲۵ ارتباط برقرار بفرمائید.
جهت استفاده از خدمت مرتبط با بانک اطلاعاتی و همچنین گرفتن مشاوره درزمینه انواع بانک اطلاعاتی در سازمان خود، فرم زیر را تکمیل بفرمائید:
نوشتن نظر