X بستن تبلیغات
X بستن تبلیغات
header
متن مورد نظر

پایگاه های داده

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

پیشرفت سریع علم کامپیوتر و کاربرد وسیعی که این تکنولوژی در کلیه امور زندگی بشر دارد از یک سو و حجم زیاد اطلاعات و نیاز بشر به سرعت،دقت و انسجام اطلاعات از سوی دیگر ،موجب گردید تا اینجا بانک های اطلاعاتی به عنوان یکی از موضوعات مهم و اساسی جامعه بشری مطرح شود. بانک اطلاعاتی با ساختار خاص خود،ذخیره ساختن اطلاعات را براحتی ممکن ساخته و کاربران مجاز نیز به سادگی به اطلاعات دسترسی می یابند. سعی داریم شما را با مفهوم بانک اطلاعاتی،سیستم مدیریت بانک اطلاعاتی و فواید استفاده از این سیستمها آشنا سازیم

پایگاه های داده

 

پیشرفت سریع علم کامپیوتر و کاربرد وسیعی که این تکنولوژی در کلیه امور زندگی بشر   دارد از یک سو و حجم زیاد اطلاعات و نیاز بشر به سرعت،دقت و انسجام اطلاعات از سوی  دیگر ،موجب گردید تا اینجا بانک های اطلاعاتی به عنوان یکی از موضوعات مهم و اساسی جامعه بشری مطرح شود. بانک اطلاعاتی با ساختار خاص خود،ذخیره ساختن اطلاعات را براحتی ممکن ساخته و کاربران مجاز نیز به سادگی به اطلاعات دسترسی می یابند. سعی داریم شما را با مفهوم بانک اطلاعاتی،سیستم مدیریت بانک اطلاعاتی و فواید استفاده از این سیستمها آشنا سازیم.

داده ( Data ) و اطلاعات (‌Information )
دو اصطلاح داده و اطلاعات که بیشتر اوقات به جای یکدیگر برده می شوند در سیستمهای اطلاعاتی مفاهیم متفاوتی دارند. داده ها در این سیستمهای اطلاعاتی عبارتند از : کلمات و ارزشهای واقعی که از طریق مشاهده و تحقیق بدست می آیند در حالی که اطلاعات داده های پردازش شده می باشند که برای گیرنده قابل درک بوده و با دانستن آن شروع به تصمیم گیری می کند. به عبارت دیگر داده نمودی از وقایع، معلومات،رخدادها ،پدیده ها و مفاهیم می باشد در حالیکه اطلاعات تکوین و پردازش یا تفسیر داده بوده و شامل خواص ارتباط دهندگی و انتقال دهندگی می باشد.

موجودیت ( Entity )
موجودیت مصداق کلی هر پدیده،فرد یا شی ء یا مفهومی است که می خواهیم در مورد آن اطلاعاتی داشته باشیم به عنوان مثال اگر در نظر داریم یک سیستم پایگاه داده برای یک دبیرستان پیاده سازی کنیم مواردی چون دانش آموزان ، دبیران، دروس ،کلاسها و …. جزء موجودیت های سیستم بشمار می روند.

صفت خاصه ( Attribute )
هر موجودیت از یکسری صفات تشکیل شده است که دارای مقادیر واقعی هستند و به عباراتی وجه تمایز یک موجودیت از موجودیت دیگر بشمار می رود. به عنوان مثال در سیستم دانشگاه اگر موجودیت دانشجو را در نظر بگیریم می توانیم صفات خاصه: نام ،نام خنوادگی،سن،سال تولد،رشته تحصیلی،سال ورود و … را برگزینیم و یا برای موجودیت درس: نوع موجودیت: درس صفات خاصه: کد درس،نام درس، تعداد واحد ایجاد سیستم خودکار ذخیره و بازیابی داده ها دو روش کلی برای ذخیره ساختن و بازیابی خودکار داده ها وجود دارد:
۱-
روش استفاده از سیستمهای اطلاعاتی ساده یا روش غیر بانک اطلاعاتی
۲-
روش استفاده از بانکهای اطلاعاتی

روش غیر بانک اطلاعاتی
در این روش ،داده ها در فایلهای جداگانه ای قرار می گیرند و برای استفاده از داده های موجود در آن فایلها،سیستمهای جداگانه ای طراحی می شوند. به این نوع سیستمها سیستم پردازش فایل ( File-System ) گفته می شود. در این سیستمها هر برنامه ی کاربردی به فایل اطلاعاتی مربوط به خود مراجعه می کند.

 فایل ۱« برنامه کاربردی ۱ «کاربر ۱ 
 
فایل ۲« برنامه کاربردی ۲ «کاربر ۲ 
 
فایل ۳« برنامه کاربردی ۳ «کاربر ۳ 

در این روش بسیاری از داده های مورد نیاز کاربر ۱ در بین داده های در اختیار کاربر ۲ و ۳ وجود دارد و در نتیجه عدم تجمع داده ها و عدم وحدت ذخیره سازی اطلاعات مورد نیاز کاربر ۱ در فایل ۱ با تکرار ذخیره سازی اطلاعات روبرو هستیم و این به معنی افزونگی داده است. از طرفی حفظ امنیت این سیستم مشکل است در صورت ایجاد تغییراتی در فایل ۱ در زمینه اطلاعات موجود در آن، برنامه کاربردی مربوط نیز باید تغییر پیدا کند.

روش بانک اطلاعاتی
در این روش کلیه داده ها به صورت مجتمع یا بانک ذخیره شده ولی هر کاربر دید خاص خود را نسبت به داده ها دارد. در این صورت کاربران مختلف می توانند بصورت مشترک با بانک کار کنند همچنین افزونگی داده ها به حداقل ممکن کاهش می یابد. در این روش نرم افزار مدیریت بانک اطلاعاتی ( DBMS ) به عنوان واسطه بین برنامه های کاربردی و بانک اطلاعاتی ایفای نقش می کند لذا امنیت داده ها در این روش بیشتر است.

« برنامه کاربردی ۱ «برنامه کاربردی۱ 
 
فایل« DBMS « برنامه کاربردی ۲ «برنامه کاربردی۲ 
«برنامه کاربردی ۳ «برنامه کاربردی ۳ 

تعریف بانک اطلاعاتی ( Date Base )
به صورت جامع می توان گفت: « بانک اطلاعاتی یا پایگاه داده ها مجموعه ای سازمان یافته از اطلاعات و داده های مرتبط به هم است ” و در یک تعریف کاملتر بانک اطلاعاتی عبارت است ازمجموعه ای از داده های ذخیره شده بصورت مجتمع و مبتنی بر یک ساختار، با حداقل افزونگی، تحت کنترل متمرکز که استفاده از آن بصورت اشتراکی و همزمان نیز مسیر می باشد

مجتمع و مبتنی بر یک ساختار بدین معنی است که کل داده های عملیاتی محیط مورد نظر در یک ساختار مشخص به صورت یکجا ذخیره شده باشند و لازمه هر تجمعی وجود یک ساختار است.
منظور از عدم افزونگی در یک تعبیر ساده به حداقل رساندن ذخیره داده های تکراری و بهینه سازی استفاده از محیط های ذخیره اطلاعات می باشد.

سیستم مدیریت بانک اطلاعات ( DBMS )
DBMS
مهمترین جزء نرم افزاری در سیستم بانک اطلاعاتی است که به عنوان رابط بین بانک اطلاعاتی و کاربر عمل می نماید، به طوریکه کلیه فایلهای بانک اطلاعاتی فقط در اختیار این نرم افزار قدرتمند قرار گرفته و کلیه دستیابی ها به بانک از طریق DBMS صورت می پذیرد. آنچه در مورد یک سیستم مدیریت بانک اطلاعاتی اتفاق می افتد عبارت است از :
۱-
کاربر با استفاده از بعضی زیر زبان داده ها مانند SQL ( که به تفضیل در فصل های آتی به آن اشاره خواهد شد) در خواست یک دسترسی می نماید.
۲-DBMS
در خواست مورد نظر را دریافت وآن را تحلیل می کند.
۳-DBMS
بترتیب دید کاربر از داده های ذخیره شده و حفظ امنیت داده در محیط بانک اطلاعاتی را بازرسی و مرور می کند. (‌کنترل امنیت و جامعیت داده ها )‌
4-DBMS
عملکردهای لازم را برای داده های ذخیره شده اجرا می کند.

 فایل و داده ها« سیستم عامل « DBMS «برنامه های کاربران 

محیط DBMS
اجزاء اصلی سیستم بانک اطلاعاتی عبارتند از : داده ها، سخت افزار، نرم افزار و کاربران که در این جا به تشریح آنها خواهیم پرداخت.

داده ها ( Data )‌ داده که قبلا به آن شاره گردید از مهمترین اجزاء DBMS می باشد. مجتمع و اشتراکی بودن داده ها به عنوان مزایای اصلی سیستم پایگاه داده ها در محیط های بزرگ بشمار می رود.

سخت افزار ( Hardware )
سخت افزار مورد نیاز DBMS معمولا عبارتند از:
۱-
سخت افزار ذخیره سازی داده: در عملیات ذخیره سازی اده ها در محیط های بانک اطلاعاتی از دیسکهای سریع و با ظرفیت بالا استفاده می شود.
۲-
سخت افزار پردازنده های مرکزی: با پیشرفت فناوری انفورماتیک، سیستم هایی به بازار عرضه شده اند که از نظر معماری پردازنده مرکزی، حافظه اصلی و سایر قسمتها از پیکربندی ویژه ای جهت ذخیره و بازیابی اطلاعات برخوردارند و به لحاظ این ویژگی ها کاربرد بیشتری در محیط های بانک اطلاعاتی خواهند داشت.
۳-
سخت افزار ارتباطی: مجموعه امکانات سخت افزاری که برای برقراری ارتباط بین کامپیوترها و دستگاهها جانبی و همچنین مابین چندین کامپیوتر ( به صورت شبکه ای ) استفاده می شوند را تحت عنوان سخت افزارهای ارتباطی بانک های اطلاعاتی می شناسند.

نرم افزار ( Software )
نرم افزار شامل خود DBMS و برنامه های کاربردی، سیستم عامل و نیز نرم افزارهای شبکه ای است. برای استفاده DBMS در محیط شبکه عمدتا از برنامه های کاربردی نوشته شده به زبانهای برنامه نویسی نسل سوم مانند C ، کوبول، پاسکال و …. و یا زبانهای نسل چهارم مانند SQL استفاده می شود. هدف نرم افزارهای DBMS ارائه چهار ابزار اصلی است که عبارتند از :
۱-
زبانهای پرس و جو (‌Query Language )
2-
گزارش ها ( Report )
3-
فرم ها ( Forms )
4-
تصاویر ( Graphics )‌

کاربران (‌Users )
کاربران یا کسانی که به نحوی با سیستم در ارتباط هستند به چهار دسته مهم تقسیم می شوند:
۱-
مدیران بانک اطلاعاتی یا DBA
2-
طراحان بانک اطلاعاتی یا DBD
3-
برنامه نویسان بانک اطلاعاتی یا DBP
4-
کاربران نهایی یا ساتفاده کنندگان سیستم ( End Users )

اصول معماری سیستم های بانک اطلاعاتی
با توجه به گفته های بالا در می یابیم که سیستم بانک اطلاعاتی ،سیستمی چند سطحی است. این سیستم بوسیله امکانات سیستم مدیریت بانک اطلاعاتی ایجاد شده و در اختیار کاربران قرار می گیرد. در نظر داشته باشید که این سیستم چند سطحی دارای یک معماری خاص می باشد که بیانگر نحوه تعریف داده ها در سطوح مورد نظر است.

وظایف DBMS
وظایف سیستم مدیریت بانک اطلاعاتی بستگی به نوع کاربران آن دارد این وظایف در چارچوب واحدهای نرم افزاری طراحی و پیاده سازی می شوند. هر چند وظایف DBMS در سیستم های مختلف تا حدودر متفاوت است، اما به طور کلی این وظایف عبارتند از:
تعریف داده ها
تامین امکان دستکاری داده ها
ایجاد دیکشنری داده ها
کنترل امنیت و جامعیت داده ها
ایجاد امکان بازیابی از بانک اطلاعاتی
بهنگام سازی داده ها
تامین امکان کنترل کارایی
تامین تسهیلاتی برای کاربران به منطور توسعه سیستم

برای انجام این وظایف می بایست واحدهای نرم افزاری مربوط در سیستم مدیریت بانک اطلاعاتی وجود داشته باشد. هر کدام از این واحدها ممکن است مرکب از چند واحد کوچکتر باشند. توجه داشته باشید که هر سیستم نیازمند یک بخش کنترلی است. در سیستم مدیریت بانک اطلاعاتی ، مجموعه واحدهایی که وظایف کنترلی را بر عهده دارند اصطلاحا به سیستم کنترل بانک اطلاعاتی معروف می باشند. به طور کلی واحدهای زیر در سیستم کنترل بانک اطلاعاتی وجود دارند:
واحد نظارت بر اجرای برنامه کاربر
واحد کامپایل کننده احکام و درخواستها
واحد دستیابی به بانک فیزیکی
واحد ثبت رویدادها و تغیراتی که در بانک ایجاد می شوند

زبان تعریف داده ها DDL
همانطور که اشاره شد تعریف داده ها یکی از وظایف DBMS است. DDL از زبانهای فرعی داده ای جهت تعریف داده ها است که از آن جهت تعریف صفحات مشخصه و خصوصیات یک بانک استفاده می شود. ساختار رکوردها، تعریف فیلدها، محل فایلها و شیوه ذخیره سازی داده ها در بانک به وسیله احکام DDL انجام می پذیرد.

زبان پردازش و مدیریت داده ها DML
تامین امکان دستکاری داده ها نیز از وظایف DBMS عنوان شد. زبان دستکاری ،پردازش و مدیریت بانک اطلاعاتی به زبانی گفته می شود که برای درج داده ها بروز رسانی آنها و اجرای پرس و جو از یک بانک اطلاعاتی مورد استفاده قرار می گیرد. این زبانها اغلب دارای قابلیت انجام محاسبات ریاضی و آماری می باشند که به وسیله آنها عملیات گزارش گیری از بانک اطلاعاتی آسان تر خواهد شد.

دیکشنری داده ها
یکی دیگر از وظایف DBMS ، ایجاد دیکشنری یا فرهنگ داده است. دیکشنری داده ها یکی از امکاناتی است که در محیط های بانک اطلاعاتی در اختیار اداره کنندگان بانک قرار می گیرد. دیکشنری داده ها که به آن راهنمای سیستم نیز می گویند در واقع بانکی در مورد خود بانک و داده های ذخیره شده در آن است. بطور کلی اطلاعات و محتوای دیکشنری داده ها بشرح زیر می باشد:
شرح ساختار و پیکر بندی فیزیکی بانک .
تاریخ ایجاد داده ها .
مکانسیم ورود داده ها به بانک .
ارتباط بین برنامه های کاربردی و داده ها .
مشخصات کاربران و چگونگی حق دستیابی آنها .

آشنایی با جداول و اجزاء تشکیل دهنده آنها در بانک های اطلاعاتی
جدول مهمترین ساختار داده ای در سیستم بانک های اطلاعاتی رابطه ای است (‌در ادامه این فصل به تشریح سیستم های رابطه ای خواهیم پرداخت. ) جدول در سیستم رابطه ای تشکیل شده از چندین سطر و ستون می باشد که مقادیر داده در هر سطر و ستون در طول زمان متغیر خواهد بود. به طور کلی جداول ساختار بنیادین رابطه ها هستند. سطرهای موجود در جداول را « رکورد» و ستونهای آن را « فیلد» می نامند.

رکورد
رکورد یک ساختار داده ای متشکل از مجموعه فیلدهاست که هر یک از این فیلدها نام و نوع خاص خود را دارند. برخلاف یک آرایه که تمام عناصر آن نمایانگر انواع یکسانی از اطلاعات هستند و دستیابی به آنها با یک شاخص (‌ایندکس )‌انجام می شود، عناصر یک رکورد نمایانگر انواع مختلفی از اطلاعات می باشد که بوسیله نامشان مورد دستیابی قرار می گیرند.

فیلد
فیلد محلی است در یک رکورد که نوع خاصی از داده ها در آن ذخیره می شود. به عنوان مثال چنانچه قرار باشد برای ذخیره سازی اطلاعات کارمندان یک سازمان از جداول استفاده شود،رکورد این جداول ممکن است فیلدهایی برای ذخیره سازی نام خانوادگی، نام، نشانی ،مدرک تحصیل و …. داشته باشد. فیلدها بوسیله بیشینه طول و نوع داده هایشان (‌کاراکتری ، عددی، تاریخ و … )‌ از یکدیگر تمیز داده می شوند. توجه داشته باشید که امکان تعریف این مشخصات معمولا در زبان تعریف داده ها (‌DDL )‌ قرار دارد.

آشنایی با روشهای ارتباط و مدلهای بانک های اطلاعاتی
سه مدل داده ای برای سیستم های بانک اطلاعاتی وجود دارد. لازمه هر مدل داده ای وجود یک ساختار داده ای است که علاوه بر مدل داده عناصر دیگری را نیز در بردارد. عناصر مدل داده ای عبارتند از ساختارداده ای ، عملگرهای عمل کننده روی ساختار و قواعد عام برای تامین جامعیت می باشند. در ادامه این بحث قصد داریم مدلهای موجود را مورد مطالعه قرار دهیم. از آنجا که بانک اطلاعاتی اوراکل مبتنی بر مدل رابطه ای است، لذا بیشتر بحث خود را بر مدل رابطه ای معطوف می داریم .

مدل سلسله مراتبی
این ساختار ،قدیمی ترین مدل برای طراحی بانک های اطلاعاتی است، در این ساختار داده ها و ارتباط بین آنها به کمک یک درختواره نمایش داده می شوند. در رختواره گرافی است دارای یک ریشه و N گره که در حالت بسته و غیر چرخشی قرار دارد. منظور از حالت بسته این است که بین هر دو گره پیوندی وجود دارد که یک مسیر منطقی را از گرهی به گره دیگر تامین می کند و همیشه از سطح بالاتر به سطح پایین تر است . غیر چرخشی نیز یعنی مسیری از گره سطح پایین تر به گره سطح بالاتر وجود ندارد. هر گره از هر سطح می تواند تعدادی گره وابسته یا فرزند داشته باشد ولی هر گره فرزند فقط یک گره پدر دارد. هر گره از رختواره می تواند رکوردی حاوی یک نوع موجودیت باشد. از آنجا که ریشه سلسله مراتب، نقطه ورود به ساختار بوده و مسیر منطقی از سمت بالاتر به سمت پایین تر است، برای عملیات بازیابی ، علاوه بر دستیابی به ریشه، امکان دستیابی به فرزند نیز باید وجود داشته باشد. در بحث ذخیره سازی نیز این سیستم دارای اشکال است.

مدل شبکه ای
در این ساختار موجودیت ها به کمک انواع رکوردها،و ارتباطات به کمک پیوندهای بین رکوردها نمایش داده می شوند. چنانچه خواسته باشیم این ساختار را با مفاهیم موجود در رختواره توضیح دهیم، باید گفت که در این ساختار، هر گره فرزند می تواند بیش از یک گره پدر داشته باشد. بنابراین به کمک این ساختار می توان ارتباطات یک به چند را نمایش داد. مدل شبکه ای پیچیده تر از مدل سلسله مراتبی است و به همان نسبت عملیات ذخیره و بازیابی پیچیده تری دارد.

مدل رابطه ای
پایگاه داده رابطه ای از دید کاربران یک مجموعه از جدولهایی است که به درستی قابل درک می باشند. چهار مفهوم اساسی در این مدل به شرح زیر وجود دارد:
۱-
جدول ۲- ستونها ۳- ردیفها ۴- فیلدها
این مدل داده ها را در روابط سازماندهی نموده و از قوانین ریاضی تبعیت می کند. صفات خاصه یک موجودیت در یک سیستم به عنوان یک رابطه در این مدل مطرح می شود. به عنوان مثال در سیستم دانشگاه می توانیم رابطه دانشجو را در نظر بگیریم :
(
شماره شناسنامه، سال ورود، رشته، نام ، شماره دانشجویی ) دانشجو
صفت خاصه نام رابطه

این رابطه بر طبق مدل رابطه ای بصورت زیر نمایش داده می شود:
شماره شناسایی سال ورود رشته نام
۱۰۱۲ ۱۳۷۹
کامپیوتر علی ۲۴۵
۲۵۷۸ ۱۳۸۰
ریاضی حسین ۲۶۵
۳۹۲۰ ۱۳۷۹
آمار رضا ۳۲۷
۱۷ ۱۳۸۱
کامپیوتر بهرام ۴۹۳

هر ستون در مدل رابطه ای همچنان که در بالا مشاهده می کنید نشان دهنده یک صفت خاصه ( فیلد)‌ از یک نوع موجودیت ( دراین مثال دانشجو)‌ و هر سطر نمایانگر یک نمونه از یک موجودیت (‌رکورد)‌ می باشد.

خواص ارتباطات رابطه ای
یک جدول یا رابطه شامل خواص

ارسال نظر