پیشرفت سریع علم کامپیوتر و کاربرد وسیعی که این تکنولوژی در کلیه امور زندگی بشر دارد از یک سو و حجم زیاد اطلاعات و نیاز بشر به سرعت،دقت و انسجام اطلاعات از سوی دیگر ،موجب گردید تا اینجا بانک های اطلاعاتی به عنوان یکی از موضوعات مهم و اساسی جامعه بشری مطرح شود. بانک اطلاعاتی با ساختار خاص خود،ذخیره ساختن اطلاعات را براحتی ممکن ساخته و کاربران مجاز نیز به سادگی به اطلاعات دسترسی می یابند. سعی داریم شما را با مفهوم بانک اطلاعاتی،سیستم مدیریت بانک اطلاعاتی و فواید استفاده از این سیستمها آشنا سازیم.
داده ( Data ) و اطلاعات (Information )
دو اصطلاح داده و اطلاعات که بیشتر اوقات به جای یکدیگر برده می شوند در سیستمهای اطلاعاتی مفاهیم متفاوتی دارند. داده ها در این سیستمهای اطلاعاتی عبارتند از : کلمات و ارزشهای واقعی که از طریق مشاهده و تحقیق بدست می آیند در حالی که اطلاعات داده های پردازش شده می باشند که برای گیرنده قابل درک بوده و با دانستن آن شروع به تصمیم گیری می کند. به عبارت دیگر داده نمودی از وقایع، معلومات،رخدادها ،پدیده ها و مفاهیم می باشد در حالیکه اطلاعات تکوین و پردازش یا تفسیر داده بوده و شامل خواص ارتباط دهندگی و انتقال دهندگی می باشد.
موجودیت ( Entity )
موجودیت مصداق کلی هر پدیده،فرد یا شی ء یا مفهومی است که می خواهیم در مورد آن اطلاعاتی داشته باشیم به عنوان مثال اگر در نظر داریم یک سیستم پایگاه داده برای یک دبیرستان پیاده سازی کنیم مواردی چون دانش آموزان ، دبیران، دروس ،کلاسها و .... جزء موجودیت های سیستم بشمار می روند.
صفت خاصه ( Attribute )
هر موجودیت از یکسری صفات تشکیل شده است که دارای مقادیر واقعی هستند و به عباراتی وجه تمایز یک موجودیت از موجودیت دیگر بشمار می رود. به عنوان مثال در سیستم دانشگاه اگر موجودیت دانشجو را در نظر بگیریم می توانیم صفات خاصه: نام ،نام خنوادگی،سن،سال تولد،رشته تحصیلی،سال ورود و ... را برگزینیم و یا برای موجودیت درس: نوع موجودیت: درس صفات خاصه: کد درس،نام درس، تعداد واحد ایجاد سیستم خودکار ذخیره و بازیابی داده ها دو روش کلی برای ذخیره ساختن و بازیابی خودکار داده ها وجود دارد:
1-روش استفاده از سیستمهای اطلاعاتی ساده یا روش غیر بانک اطلاعاتی
2-روش استفاده از بانکهای اطلاعاتی
روش غیر بانک اطلاعاتی
در این روش ،داده ها در فایلهای جداگانه ای قرار می گیرند و برای استفاده از داده های موجود در آن فایلها،سیستمهای جداگانه ای طراحی می شوند. به این نوع سیستمها سیستم پردازش فایل ( File-System ) گفته می شود. در این سیستمها هر برنامه ی کاربردی به فایل اطلاعاتی مربوط به خود مراجعه می کند.
فایل 1« برنامه کاربردی 1 «کاربر 1
فایل 2« برنامه کاربردی 2 «کاربر 2
فایل 3« برنامه کاربردی 3 «کاربر 3
در این روش بسیاری از داده های مورد نیاز کاربر 1 در بین داده های در اختیار کاربر 2 و 3 وجود دارد و در نتیجه عدم تجمع داده ها و عدم وحدت ذخیره سازی اطلاعات مورد نیاز کاربر 1 در فایل 1 با تکرار ذخیره سازی اطلاعات روبرو هستیم و این به معنی افزونگی داده است. از طرفی حفظ امنیت این سیستم مشکل است در صورت ایجاد تغییراتی در فایل 1 در زمینه اطلاعات موجود در آن، برنامه کاربردی مربوط نیز باید تغییر پیدا کند.
روش بانک اطلاعاتی
در این روش کلیه داده ها به صورت مجتمع یا بانک ذخیره شده ولی هر کاربر دید خاص خود را نسبت به داده ها دارد. در این صورت کاربران مختلف می توانند بصورت مشترک با بانک کار کنند همچنین افزونگی داده ها به حداقل ممکن کاهش می یابد. در این روش نرم افزار مدیریت بانک اطلاعاتی ( DBMS ) به عنوان واسطه بین برنامه های کاربردی و بانک اطلاعاتی ایفای نقش می کند لذا امنیت داده ها در این روش بیشتر است.
« برنامه کاربردی 1 «برنامه کاربردی1
فایل« DBMS « برنامه کاربردی 2 «برنامه کاربردی2
«برنامه کاربردی 3 «برنامه کاربردی 3
تعریف بانک اطلاعاتی ( Date Base )
به صورت جامع می توان گفت: « بانک اطلاعاتی یا پایگاه داده ها مجموعه ای سازمان یافته از اطلاعات و داده های مرتبط به هم است ” و در یک تعریف کاملتر بانک اطلاعاتی عبارت است از ” مجموعه ای از داده های ذخیره شده بصورت مجتمع و مبتنی بر یک ساختار، با حداقل افزونگی، تحت کنترل متمرکز که استفاده از آن بصورت اشتراکی و همزمان نیز مسیر می باشد.»
•مجتمع و مبتنی بر یک ساختار بدین معنی است که کل داده های عملیاتی محیط مورد نظر در یک ساختار مشخص به صورت یکجا ذخیره شده باشند و لازمه هر تجمعی وجود یک ساختار است.
•منظور از عدم افزونگی در یک تعبیر ساده به حداقل رساندن ذخیره داده های تکراری و بهینه سازی استفاده از محیط های ذخیره اطلاعات می باشد.
سیستم مدیریت بانک اطلاعات ( DBMS )
DBMS مهمترین جزء نرم افزاری در سیستم بانک اطلاعاتی است که به عنوان رابط بین بانک اطلاعاتی و کاربر عمل می نماید، به طوریکه کلیه فایلهای بانک اطلاعاتی فقط در اختیار این نرم افزار قدرتمند قرار گرفته و کلیه دستیابی ها به بانک از طریق DBMS صورت می پذیرد. آنچه در مورد یک سیستم مدیریت بانک اطلاعاتی اتفاق می افتد عبارت است از :
1-کاربر با استفاده از بعضی زیر زبان داده ها مانند SQL ( که به تفضیل در فصل های آتی به آن اشاره خواهد شد) در خواست یک دسترسی می نماید.
2-DBMS در خواست مورد نظر را دریافت وآن را تحلیل می کند.
3-DBMS بترتیب دید کاربر از داده های ذخیره شده و حفظ امنیت داده در محیط بانک اطلاعاتی را بازرسی و مرور می کند. (کنترل امنیت و جامعیت داده ها )
4-DBMS عملکردهای لازم را برای داده های ذخیره شده اجرا می کند.
فایل و داده ها« سیستم عامل « DBMS «برنامه های کاربران
محیط DBMS
اجزاء اصلی سیستم بانک اطلاعاتی عبارتند از : داده ها، سخت افزار، نرم افزار و کاربران که در این جا به تشریح آنها خواهیم پرداخت.
داده ها ( Data ) داده که قبلا به آن شاره گردید از مهمترین اجزاء DBMS می باشد. مجتمع و اشتراکی بودن داده ها به عنوان مزایای اصلی سیستم پایگاه داده ها در محیط های بزرگ بشمار می رود.
سخت افزار ( Hardware )
سخت افزار مورد نیاز DBMS معمولا عبارتند از:
1-سخت افزار ذخیره سازی داده: در عملیات ذخیره سازی اده ها در محیط های بانک اطلاعاتی از دیسکهای سریع و با ظرفیت بالا استفاده می شود.
2-سخت افزار پردازنده های مرکزی: با پیشرفت فناوری انفورماتیک، سیستم هایی به بازار عرضه شده اند که از نظر معماری پردازنده مرکزی، حافظه اصلی و سایر قسمتها از پیکربندی ویژه ای جهت ذخیره و بازیابی اطلاعات برخوردارند و به لحاظ این ویژگی ها کاربرد بیشتری در محیط های بانک اطلاعاتی خواهند داشت.
3-سخت افزار ارتباطی: مجموعه امکانات سخت افزاری که برای برقراری ارتباط بین کامپیوترها و دستگاهها جانبی و همچنین مابین چندین کامپیوتر ( به صورت شبکه ای ) استفاده می شوند را تحت عنوان سخت افزارهای ارتباطی بانک های اطلاعاتی می شناسند.
نرم افزار ( Software )
نرم افزار شامل خود DBMS و برنامه های کاربردی، سیستم عامل و نیز نرم افزارهای شبکه ای است. برای استفاده DBMS در محیط شبکه عمدتا از برنامه های کاربردی نوشته شده به زبانهای برنامه نویسی نسل سوم مانند C ، کوبول، پاسکال و .... و یا زبانهای نسل چهارم مانند SQL استفاده می شود. هدف نرم افزارهای DBMS ارائه چهار ابزار اصلی است که عبارتند از :
1-زبانهای پرس و جو (Query Language )
2-گزارش ها ( Report )
3-فرم ها ( Forms )
4-تصاویر ( Graphics )
کاربران (Users )
کاربران یا کسانی که به نحوی با سیستم در ارتباط هستند به چهار دسته مهم تقسیم می شوند:
1-مدیران بانک اطلاعاتی یا DBA
2-طراحان بانک اطلاعاتی یا DBD
3-برنامه نویسان بانک اطلاعاتی یا DBP
4-کاربران نهایی یا ساتفاده کنندگان سیستم ( End Users )
اصول معماری سیستم های بانک اطلاعاتی
با توجه به گفته های بالا در می یابیم که سیستم بانک اطلاعاتی ،سیستمی چند سطحی است. این سیستم بوسیله امکانات سیستم مدیریت بانک اطلاعاتی ایجاد شده و در اختیار کاربران قرار می گیرد. در نظر داشته باشید که این سیستم چند سطحی دارای یک معماری خاص می باشد که بیانگر نحوه تعریف داده ها در سطوح مورد نظر است.
وظایف DBMS
وظایف سیستم مدیریت بانک اطلاعاتی بستگی به نوع کاربران آن دارد این وظایف در چارچوب واحدهای نرم افزاری طراحی و پیاده سازی می شوند. هر چند وظایف DBMS در سیستم های مختلف تا حدودر متفاوت است، اما به طور کلی این وظایف عبارتند از:
•تعریف داده ها
•تامین امکان دستکاری داده ها
•ایجاد دیکشنری داده ها
•کنترل امنیت و جامعیت داده ها
•ایجاد امکان بازیابی از بانک اطلاعاتی
•بهنگام سازی داده ها
•تامین امکان کنترل کارایی
•تامین تسهیلاتی برای کاربران به منطور توسعه سیستم
برای انجام این وظایف می بایست واحدهای نرم افزاری مربوط در سیستم مدیریت بانک اطلاعاتی وجود داشته باشد. هر کدام از این واحدها ممکن است مرکب از چند واحد کوچکتر باشند. توجه داشته باشید که هر سیستم نیازمند یک بخش کنترلی است. در سیستم مدیریت بانک اطلاعاتی ، مجموعه واحدهایی که وظایف کنترلی را بر عهده دارند اصطلاحا به سیستم کنترل بانک اطلاعاتی معروف می باشند. به طور کلی واحدهای زیر در سیستم کنترل بانک اطلاعاتی وجود دارند:
•واحد نظارت بر اجرای برنامه کاربر
•واحد کامپایل کننده احکام و درخواستها
•واحد دستیابی به بانک فیزیکی
•واحد ثبت رویدادها و تغیراتی که در بانک ایجاد می شوند
زبان تعریف داده ها DDL
همانطور که اشاره شد تعریف داده ها یکی از وظایف DBMS است. DDL از زبانهای فرعی داده ای جهت تعریف داده ها است که از آن جهت تعریف صفحات مشخصه و خصوصیات یک بانک استفاده می شود. ساختار رکوردها، تعریف فیلدها، محل فایلها و شیوه ذخیره سازی داده ها در بانک به وسیله احکام DDL انجام می پذیرد.
زبان پردازش و مدیریت داده ها DML
تامین امکان دستکاری داده ها نیز از وظایف DBMS عنوان شد. زبان دستکاری ،پردازش و مدیریت بانک اطلاعاتی به زبانی گفته می شود که برای درج داده ها بروز رسانی آنها و اجرای پرس و جو از یک بانک اطلاعاتی مورد استفاده قرار می گیرد. این زبانها اغلب دارای قابلیت انجام محاسبات ریاضی و آماری می باشند که به وسیله آنها عملیات گزارش گیری از بانک اطلاعاتی آسان تر خواهد شد.
دیکشنری داده ها
یکی دیگر از وظایف DBMS ، ایجاد دیکشنری یا فرهنگ داده است. دیکشنری داده ها یکی از امکاناتی است که در محیط های بانک اطلاعاتی در اختیار اداره کنندگان بانک قرار می گیرد. دیکشنری داده ها که به آن راهنمای سیستم نیز می گویند در واقع بانکی در مورد خود بانک و داده های ذخیره شده در آن است. بطور کلی اطلاعات و محتوای دیکشنری داده ها بشرح زیر می باشد:
• شرح ساختار و پیکر بندی فیزیکی بانک .
• تاریخ ایجاد داده ها .
• مکانسیم ورود داده ها به بانک .
• ارتباط بین برنامه های کاربردی و داده ها .
• مشخصات کاربران و چگونگی حق دستیابی آنها .