سيستم بانك اطلاعاتي چيست؟
سيستم بانك اطلاعاتي يا پايگاه داده (Data Base [2]) به طور عمومي يك سيستم كامپيوتري [3] نگهداري ركوردها مي باشد. بانك اطلاعاتي را مي توان به عنوان قفسه بايگاني الكترونيكي در نظر گرفت كه مخزني براي فايل داده كامپيوتري است. كاربران سيستم مي توانند عمليات گوناگوني را بر روي اين فايل ها انجام دهند، مانند:
- افزودن فايل هاي جديد به بانك اطلاعاتي
- افزودن داده ها به فايل هاي موجود
- بازيابي داده ها از فايل هاي موجود
- تغيير داده هاي فايل موجود
- حذف داده ها از فايل موجود
- حذف فايل هايي از بانك اطلاعاتي
همانطور كه گفتيم سيستم بانك اطلاعاتي، يك سيستم كامپيوتري براي نگهداري ركوردها ميباشد بدين معني كه يك سيستم كامپيوتري كه هدف آن ذخيره اطلاعات است و كاربران ميتوانند آن اطلاعات را بازيابي يا به هنگام كنند. هر چيزي كه براي يك فرد با يك سازمان با ارزش باشد، اطلاعات نام دارد. يك سيستم بانك اطلاعاتي از چهار قطعه تشكيل شده است : داده ها، سخت افزار، نرم افزار و كاربران.
داده ها (Data)
هرچيزي كه براي يك فرد يا سازمان با ارزش باشد ، داده در نظر گرفته مي شود. قابليت هايي كه يك سيستم بانك اطلاعاتي ارائه مي كند، تا حد زيادي به كامپيوتري بستگي دارد كه اين سيستم بر روي آن كار مي كند . سيستم ها بر روي كامپيوترهاي بزرگ، معمولا چندكاربره هستند، در حاليكه سيستم ها در كامپيوترهاي كوچك، تك كاربره هستند . سيستم تك كاربره سيستمي است كه در آن، در آن واحد فقط يك نفر مي تواند از بانك اطلاعاتي استفاده كند و سيستم چندكاربره سيستمي است كه در آنِ واحد چند نفر مي توانند از يك بانك اطلاعاتي استفاده كنند.
هدف اصلي سيستم هاي چندكاربره اين است كه به كاربر اجازه دهند، از آن به عنوان يك سيستم تك كاربره استفاده نمايد. به طور كل داده ها در بانك اطلاعاتي، بخصوص در سيستم هاي بزرگ، هم به صورت مجتمع و هم به صورت اشتراكي هستند (Integration & Sharing) كه در ادامه توضيح داده مي شوند.
جامعيت (Integration)
مفهوم جامعيت يا مجتمع بودن اين است كه بانك اطلاعاتي مجموعه اي از فايل هاست كه بخشي از اطلاعات اضافي از بين آن ها حذف شده است. ازديدگاه هاي ديگر، جامعيت به معناي صحت داده ها، پردازش ها و پيروي از مقررات سيستم مي باشد. به عنوان مثال، موجودي واقعي حساب هاي بانكي نبايد منفي باشد.
اشتراك (Sharing)
مفهوم مشترك بودن اين است كه داده هاي موجود در بانك اطلاعاتي مي تواند بين كاربران مختلف به اشتراك گذاشته شوند، يعني هر يك از كاربران مي توانند از يك بخش از داده ها براي اهداف خاصي استفاده كنند . همينطور ميتوان گفت كاربران به طور همزمان مي توانند به يك بخش از داده ها دستيابي داشته باشند . هر كاربر فقط بخشي از داده هاي بانك اطلاعاتي را مورد استفاده قرار مي دهد و توسط ديدگاه هاي مختلفي با بانك اطلاعاتي در تعامل است. اگر بانك اطلاعاتي مشترك نباشد، بانك اطلاعاتي شخصي يا كاربر ويژه ناميده مي شود.
سخت افزار (Hardware)
قطعات سخت افزاري سيستم شامل موارد زير است:
- حافظه هاي جانبي: كه معمولا ديسك ها هستند، براي ذخيره داده ها به كار مي روند و دستگاه هاي ورودي/خروجي مانند گرداننده ها، كنترلگرهاي دستگاه ها و …
- پردازنده هاي سخت افزاري و حافظه هاي اصلي كه براي پشتيباني از اجراي نرم افزار بانك اطلاعاتي به كار مي روند.
نرم افزار (Software)
سه نوع نرم افزار رايج در بانك اطلاعاتي وجود دارد :
- سيستم مديريت بانك اطلاعاتي DBMS
- سيستم عامل
- برنامه هاي كاربردي
سيستم مديريت بانك اطلاعاتي لايه اي از نرم افزار بين داده هاي فيزيكي ذخيره شده وكاربران سيستم مي باشد كه به آن كارگزار بانك اطلاعاتي Database Server گفته مي شود.
كاربران (Users)
كاربران بانك اطلاعاتي را مي توان سه دسته در نظر گرفت:
- برنامه نويسان كاربردي كه مسئول نوشتن برنامه هاي كاربردي بانك اطلاعاتي اند.
- كاربران نهايي كه از طريق ايستگاه هاي كاري يا پايانه ها به سيستم دسترسي دارند.
- اين دسته از كاربران كه ديده نميشود، مدير يا سرپرست بانك اطلاعاتي (DBA) است كه وظيفه سرپرست بانك اطلاعاتي و سرپرست داده هاست.
اجزاي سيستم مديريت پايگاه داده
وظایف DBMS توسط تعدادي مولفه نرم افزاري انجام مي شود . هر كدام از اين مولفه ها ممكن است مركب از چند واحد كوچكتر باشند . تعدادي از سرويس هاي كه توسط مولفه هاي DBMS داده مي شوند در زير ليست شده است.
-
پردازش تراكنش (Transaction Processing)
پردازش تراكنش عملياتي كه از منابع مختلف مي رسد را روي پايگاه داده اجرا مي كند به نحويكه خواص مطلوب تراكنش خدشه دار نشود . سرويس هاي كنترل همروندي و ترميم به اين مولفه براي برقراري خواص ACID كمك مي كنند . به اين ترتيب اجراي همروند تراكنش ها و سازگاري پايگاه داده حتي در صورت وقوع شكستي در سيستم تضمين مي شود.
-
كنترل همروندي (Concurrency Control)
مديريت اجراي همروند تراكنش ها روي پايگاه داده در حين برقراري سازگاري را به عهده دارد.
-
ترميم (Recovery)
ترميم تضمين مي كند كه اگر اجراي تراكنش با عدم موفقيت يا سقط روبرو شد، تاثير نامطلوبي روي پايگاه داده يا تراكنش هاي ديگر نگذارد و حالت پايگاه داده را هميشه سازگار نگه دارد.
-
مديريت ثبت احوال (Log Management)
هر اتفاقي در سيستم در يك فايل ذخيره مي شود و توسط مديريت ترميم براي حفظ صحت و اعتبار پايگاه داده هنگام خرابي يا سقط سيستم استفاده مي شود.
-
واسطه زباني (Language Interface)
دستوراتي را براي تعريف داده، كار كردن با آن دراختيار كاربران و برنامه هاي كاربردي قرار مي دهد.
-
تحمل پذيري خطا (Fault Tolerance)
توانائي ارائه سرويس هاي قابل اطمينان توسط DBMS حتي در صورت بروز نقص را تحمل پذيري خطا مي گويند. انواع خطاهائي كه ممكن است پيش بيايد عبارتند از:
- خطاي منطقي: تراكنش موفق نمي شود مثلا به دليل ورودي بد، سرريزي
- خطاي سيستمي: تراكنش موفق نمي شود مثلا به دليل بن بست
- سقط سيستم: قطع برق، پاك شدن حافظه اصلي، پر شدن ديسك
- ناتواني ديسك : خرابي هد، خرابكاري عمدي، آتش سوزي و …
-
كاتالوگ داده (Data Catalog)
يا ديكشنري داده يك پايگاه داده سيستمي شامل اطلاعاتي درباره داده، ارتباطات و قيدها در پايگاه اصلي است. گاهي به آن متاداده هم گفته مي شود.
-
امنيت (Security)
امنيت به محافظت داده در مقابل افشاشدن، تغيير و خرابي اشاره دارد . هر كابر و برنامه كاربردي امتياز ويژه اي براي دسترسي به داده دارد . كاربران ممكن است ديدگاه هاي مختلفي نسبت به داده هاي پايگاه داده با توجه امتيازات ويژه خود داشته باشند . سيستم امنيتي همچنين، توسط رويه هاي شناسائي و مجوز، دسترسي به پايگاه داده را محدود مي كند.
-
مديريت ذخيره سازي (Storage Management)
DBMS مكانيسم هاي خاصي براي ذخيره دائمي داده و دسترسي به منبع فيزيكي و بازيابي داده دارد. مدير ذخيره سازي بين داده ذخيره شده در پايگاه داده و برن امه كاربردي و پرس و جوهاي ارسال شده به سيستم واسطه مي شود.
-
مديريت قفل (Lock Management)
هنگام استفاده اشتراكي از داده انواع مختلفي از قفل روي داده گذاشته مي شود (مانند Read Write Lock و Lock)
-
مديريت بن بست (Deadlock Management)
بن بست وقتي اتفاق مي افتد كه تراكنش ها براي بدست آوردن منابع در يك دايره بسته قرار گيرند يعني هر يك منبعي در اختيار دارد كه مورد تقاضاي ديگري است و درخواست منبعي را مي كند كه در اختيار تراكنش منتظر منبع است . در پايگاه داده منابع ركوردها هستند . مديريت منبع مسئول رفع اين مشكل هستند.