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

Download Report

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

‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫در اين فصل عناوين زير مورد بحث و بررس ي قرار مي گيرند‪:‬‬
‫نواع سيستم هاي پايگاه داده‬
‫سيستم مديريت پايگاه داده ‪1‬‬
‫اصطالح ذخيره و بازيابي اطالعات (شامل داده‪ ،‬اطالع‪ ،‬دانش و‪) . . .‬‬
‫تعريف پايگاه داده‬
‫مراحل كار در روش فايلينگ‬
‫مراحل كار در روش پايگاهي‬
‫اجزاء پايگاه داده‬
‫مفهوم داده‪ ،‬سخت افزار و نر مافزار در پايگاه داده ها‬
‫انواع كاربران در پايگاه داده ها‬
‫تعريف مدير پايگاه داده و وظايف آن‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫داده (‪ )Data‬به يکسري مفاهيم بي قاعده و نامنظم اطالق مي شود‪ .‬به طور کلي داده‬
‫عبارت است از نمايش ذخيره شده کليه موجوديت ها‪ ،‬واقعيت ها و رخدادها که در‬
‫تصميم گيري به کار مي آيند‪.‬‬
‫تعريف داده از ديدگاه ‪:ANSI‬‬
‫هر نمايش ي که توسط انسان يا يک سيستم مکانيکي خودکار معنايي به آن قابل انتساب‬
‫باشد‪.‬‬
‫نمايش واقعيات‪ ،‬مفاهيم‪ ،‬پديده ها يا شناخت ها به طرزي صوري و مناسب براي‬
‫برقراري ارتباط‪ ،‬تفسير يا پردازش توسط انسان يا هر دستگاه خودکار‪.‬‬
‫به طور کلي مي توان گفت داده ها ارزشهاي واقعي هستند که از طريق مشاهده و تحقيق‬
‫بدست مي آيند‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اطالعات (‪ :)Information‬ماحصل پااليش داده هاي خام اطالعات است بدين‬
‫مفهوم که داده ها بررس ي شده و يکسري مفاهيم باقاعده و مفيد از دل آنها با نام‬
‫اطالعات بدست مي آيد‪.‬‬
‫هر نوع داده پردازش شده (ساخت يافته) را اطالع مي نامند‪.‬‬
‫تعريف اطالع از ديدگاه ‪:ANSI‬‬
‫معنايي که انسان از طريق توافقات و قراردادهاي شناخته شده اي به داده منتسب مي‬
‫کند‪.‬‬
‫نکته‪ :‬اطالع و داده با هم فرق دارند اطالع داراي خاصيت ارتباط دهندگي و انتقال‬
‫دهندگي است در حالي که داده مجرد اين خاصيت را ندارد‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اصطالح دانش عبارت است از نمايش نمادين بخش هايي از دنياي واقعي‪ .‬به بياني ديگر‪،‬‬
‫دانش يک نوع شناخت است که از يک مجموعه از اطالعات‪ ،‬بر اساس يک مجموعه از‬
‫قواعد مشخص بدست مي آيد‪.‬‬
‫داده ها حالت منفرد و مجزا دارند و لزوما اطالعي از آنها بدست نمي آيد مگر اينکه بنحوي‬
‫بهم مرتبط شوند و معنايي به آنها منتسب شود و دانش را بايد نوعي اطالع سطح باالتر‬
‫دانست‪.‬‬
‫در واقع هم اطالع و هم دانش حاصل عملياتي روي داده هستند‪ .‬ولي نوع عمليات الزم براي‬
‫حصول آنها متفاوت است‪.‬‬
‫دانش‬
‫پردازش‬
‫اطالع‬
‫پردازش‬
‫داده‬
‫‪‬‬
‫‪‬‬
‫ذخيره سازي اطالعات و داده ها مهمترين موضوع سيستم هاي اطالعاتي است‪.‬‬
‫اصطالح ذخيره و بازيابي اطالعات در واقع به مجموعه اي از الگوريتم ها و تکنيک ها‬
‫اطالق مي گردد که در طراحي و توليد يک سيستم بکار گرفته مي شود و به کاربر امکان مي‬
‫دهد تا اطالعات (اسناد‪ ،‬مدارک‪ ،‬متون‪ ،‬تصاوير‪ ،‬اصوات و ‪ )...‬خود را ذخيره‪ ،‬بازيابي و‬
‫پردازش کند‪.‬‬
‫‪‬‬
‫‪‬‬
‫پايگاه داده ها با توصيفي جامع تر‪ ،‬مجموعه اي است از داده ها كه بصورت مجتمع و‬
‫تاحد ممكن بصورت مرتبط بهم و با كمترين افزونگي ذخيره شده اند كه اين مجموعه‬
‫تحت مديريت يك سيستم كنترل متمركز براي استفاده يك يا چند كاربر قرارگرفته اند ‪.‬‬
‫شايد در نگاه اول تعريف ارائه شده در مورد پايگاه داده ها كمي مبهم به نظر برسد‪.‬در‬
‫تشريح كلي سيستم پايگاه داده ها مي توان گفت كه يك سيستم پايگاه داده مجموعه‬
‫اي از داده هاي بهم وابسته است كه از افزونگي بي حاصل و مضر مبرا است و براي‬
‫كاربردهاي گوناگون استفاده مي شود ‪ .‬داده ها به گون هاي ذخيره شده اند كه از‬
‫برنامه هايي كه آنها را به فرمت مي گيرند مستقل هستند و راه يافت مشترك كنترل‬
‫شده براي درج‪ ،‬حذف‪ ،‬تغيير و بازيابي داده هاي موجود استفاده مي شود و داد هها ب‬
‫هگونه اي ساخت يافته است كه پايه اي براي توسعه برنامه هاي كاربرد ي آينده‬
‫فراهم مي سازد ‪ .‬اين داده ها توسط يك سيستم مديريت پايگاه داده ها مديريت مي‬
‫شود ‪ .‬با اين وصف مي توان دريافت كه هرمجموع هاي از فايلها يا هر مجموعه اي از‬
‫اطالعات ذخيره شده لزوما يك پايگا ه داده ها نيست ‪.‬‬
‫‪‬‬
‫‪‬‬
‫بنابراين براي ايجاد پايگا ه داده ها وجود حداقل يك سيستم مديريت پايگا هداده ها به‬
‫عنوان سيستم واسطه الزامي است ‪ .‬بارزترين برتري يك پايگا ه داده نسبت به سيستم‬
‫بانك هاي داده قبلي (سيستم هاي فايلينگ)‪ ،‬سيستم مديريت پايگا ه داده مي باشد ‪ .‬با‬
‫اين وصف الزم است بين اصطالحاتي مانند بانك داده‪ ،‬بانك اطالعاتي‪ ،‬پايگاه داده و پايگاه‬
‫اطالعاتي تفاوت قائل شويم ‪.‬‬
‫در بررس ي محيط يك پايگا هداده ها الزم است به اين نكته توجه شود كه محيط واحد‪،‬‬
‫مجتمع و مشترك ذخيره سازي لزوما به اين معنا نيست كه چنين محيطي از نظر فيزيكي و‬
‫محل جغرافيايي واحد و يكپارچه است‪ .‬بلكه محيط پايگاه داده ها از لحاظ منطقي‪،‬‬
‫يكپارچگي دارد ‪ .‬وضع پايگاه داده ها در سطح فيزيكي بستگي به معماري سيستم پايگاه داده‬
‫ها دارد‪ ،‬پايگاه داده ها مي تواند در عين واحد مجتمع و مشترك بودن در سطح منطقي‪ ،‬از‬
‫نظر فيزيكي نامتمركز و توزيع شده باشد‪.‬‬
‫‪‬‬
‫با توجه به تعاريف قبلي ممكن است اين سئوال پيش بيايد كه اساسا استفاده‬
‫از روش فايلينگ در طراحي برنامه ها به چه صورت بوده و چه تفاوتي با روش‬
‫پايگاهي دارد ‪ .‬براي درك بهتر موضوع ابتدا روش فايلينگ براي طراحي برنامه ها را‬
‫بصورت كلي بيان مي كنيم‪:‬‬
‫‪‬‬
‫ورد درخواست براي مكانيزه كردن انتخاب و مورد بررس ي و پردازش سيستم مقرار مي گيرد تا مشخصات‬
‫نيازها تعيين گردد ‪.‬‬
‫◦ مراحل اوليه الزم براي طراحي و پياده سازي سيستم مورد نظر انجام مي گيرد‪.‬‬
‫◦ مشخصات سيستم و زير سيستم هاي احتمالي و وظايف هر كدام از آنها تعيين مي گردد‪.‬‬
‫◦ تعدادي فايل اطالعاتي براي ذخيره سازي فايلها طراحي مي گردد‪ .‬اين فايلها معموال به صورت منفرد در سطح‬
‫سيستم طراحي مي گردند ‪.‬‬
‫‪‬‬
‫◦ برنامه مورد درخواست با استفاده از يك زبان برنامه نويس ي تهيه مي گردد ‪ .‬برنامه مورد نظر به همراه برنامه‬
‫هاي مرتبط با فايل ها اطالعاتي‪ ،‬مجموعه نرم افزاري سيستم را پوشش مي دهند ‪.‬‬
‫◦ يك مجموعه كامل شامل نرم افزار و سخ تافزار و احتماال مكانيزمي جهت برقراري ارتباط بين چند سخت افزار‬
‫فراهم ميگردد ‪.‬‬
‫◦ مجموع هاي از تست ها جهت بررس ي هر زير سيستم و در نهايت بررس ي كل سيستم اعمال مي گردد ‪.‬‬
‫بنابراين در روش فايلينگ‪ ،‬داده ها در واقع چند مجموعه مجزا و نامجتمع (از لحاظ منطقي و فيزيكي) و‬
‫تا حدود زيادي نامرتبط با هم و بدون مديريت متمركز خواهند بود‪.‬‬
‫نمايش سادهشده فايلينگ‬
‫‪OS‬‬
‫‪FILES‬‬
‫‪FS‬‬
‫يا‬
‫‪DMS‬‬
‫‪OS‬‬
‫‪FILES‬‬
‫محيط فيزيكي‬
‫ذخيره و بازيابي اطالعات‬
‫‪FS‬‬
‫يا‬
‫‪DMS‬‬
‫برنامههاي ايجاد‪،‬‬
‫كنترل و‬
‫پردازش فايلها‬
‫‪U‬‬
‫‪F‬‬
‫‪I‬‬
‫برنامههاي ايجاد‪،‬‬
‫كنترل و‬
‫پردازش فايلها‬
‫‪U‬‬
‫‪F‬‬
‫‪I‬‬
‫محيط فايلينگ‬
‫منطقي و يا مجازي‬
‫‪U1‬‬
‫‪U2‬‬
‫‪U3‬‬
‫اداره امور رفاهي دانشجويان‬
‫محيط‬
‫ذخيرهسازي اطالعات‬
‫خاص اداره‬
‫امور رفاهي‪U3 :‬‬
‫‪FILES‬‬
‫‪FS‬‬
‫يا‬
‫‪DMS‬‬
‫برنامههاي ايجاد‪،‬‬
‫كنترل و‬
‫پردازش فايلها‬
‫‪U‬‬
‫‪F‬‬
‫‪I‬‬
‫اداره امور فارغ التحصيالن‬
‫محيط‬
‫ذخيرهسازي اطالعات‬
‫خاص اداره‬
‫فارغالتحصيالن‪U2 :‬‬
‫‪OS‬‬
‫برنامهساز‬
‫نابرنامهساز‬
‫اداره امور آموزش‬
‫محيط‬
‫ذخيرهسازي اطالعات‬
‫خاص اداره‬
‫ثبت نام‪U1 :‬‬
‫كاربران‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫كليه نيازهاي اطالعاتي و پردازش ي مجموعه مورد نظر بصورت يكپارچه مورد‬
‫مطالعه و تحليل قرار مي گير د‪ .‬داده هاي مورد نظر‪ ،‬مدل سازي مي گردند و‬
‫مشخصات سيستم و وظايف آن بصورت جامع تعيين م يگردند‪.‬‬
‫يك يا چند پايگاه داده بعنوان سيستم مديريت متمركز انتخاب مي گردد‪ .‬طراحي‬
‫هاي الزم در سطوح مختلف پايگاه داده تعريف و طراحي مي گردند‪.‬‬
‫واسط هاي مورد نظر براي كاربران واحد هاي مختلف (و بعضا مديران‬
‫سيستم)طراحي مي گردند‪.‬‬
‫تست هاي الزم بر روي قسمت هاي مختلف سيستم اعمال مي گردند‪.‬‬
‫‪‬‬
‫هر سيستم پايگاه داده از چهار جزء اساس ي تشكيل مي شود‪:‬‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫داده ها‬
‫سخت افزار‬
‫نرم افزار‬
‫کاربر‬
‫‪‬‬
‫يك پايگاه داده گنجينه اي از داده ها است كه در كل مجتمع شده و به اشتراك‬
‫گذاشته شده است ‪ .‬داده هاي ذخيره شده در يك سيستم پايگاهي عبارتند از‪:‬‬
‫◦ داده هاي كاربران‬
‫◦ داده هاي سيستمي‬
‫‪‬‬
‫يك پايگاه داده جهت استقرار به مجموعه مناسبي از تجهيزات سخت افزاري‬
‫نيازدارد ‪.‬سخت افزار ها به سه دسته تقسيم مي گردند‪:‬‬
‫◦ سخت افزار ذخيره سازي داد ه ها ‪ :‬منظور همان رسانه هاي ذخيره سازي خارجي است‪.‬‬
‫◦ سخت افزار پردازشگر ‪ :‬منظور خود کامپيوتر (يا سرور) است‪.‬‬
‫◦ سخت افزار برقرار كننده ارتباط ‪ :‬منظور از سخت افزار برقرار كننده ارتباط‪ ،‬سخت‬
‫افزار ارتباطي بين كامپيوتر و دستگاه هاي جنبي و نيز بين كامپيوتر هاست‪.‬‬
‫‪ ‬امكانات محلي‪ :‬براي ايجاد ارتباط بين كامپيوتر و دستگا ههاي جنبي آن در يك سايت به كار مي رود‪.‬‬
‫‪ ‬امكانات شبكه اي‪ :‬در ايجاد سيستم پايگاه داده هاي با معماري نا متمركز به كار مي رود ‪.‬‬
‫‪‬‬
‫چنانچه بخواهيم پايگاه هاي داده را بر اساس نگاه ارتباطي دسته بندي كنيم‪،‬‬
‫انواع معماري پايگاه داده ها به شرح زير خواهد بود‪:‬‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫معماري مشتري‪ -‬خدمت گزار‬
‫معماري متمركز‬
‫معماري توزيع شده‬
‫معماري با پردازش موازي‬
‫معماري چند پايگاهي‬
‫معماري موبايل‬
‫‪‬‬
‫‪‬‬
‫بين داده هايي كه به صورت فيزيكي روي دستگاه هاي ذخيره سازي مناسب‬
‫استقرار مي يابد و پايگاه داده ها را به وجود مي آورند و استفاده كنندگان يك‬
‫اليه نرم افزاري قرار مي گيرد كه آن را سيستم مديريت پايگاه داده‬
‫)‪(DBMS‬مي نامند‪.‬‬
‫نرم افزار ها خود به دو دسته تقسيم مي شوند‪:‬‬
‫◦ نرم افزار کاربردي‬
‫◦ نرم افزار سيستمي‬
‫‪‬‬
‫نرم افزاري است كه كاربر بايد براي تماس با سيستم بانك اطالعاتي آماده كند ‪.‬‬
‫اين نرم افزار به كمك يك زبان سطح باال و يك زبان داده يي و برخي تسهيالت نرم‬
‫افزاري براي تماس با بانك ساخته مي شود ‪.‬‬
‫‪‬‬
‫‪‬‬
‫اين نوع نرم افزار از دو قسمت نرم افزار سيستمي خاص بانك كه در اينجا به آن‬
‫‪DBMS‬مي گوييم و نرم افزار سيستمي عمومي (سيستم عامل) تشكيل شده‬
‫است ‪.‬‬
‫)‪(DBMS‬در يك تعريف ساده‪ ،‬سيستمي است كه به كاربران امكان مي دهد‬
‫عمليات مورد نظرشان را (مانند تعريف داده ها‪ ،‬بازيابي داده ها‪ ،‬ذخيره سازي‬
‫داده ها) انجام دهند ‪ DBMS‬که نرم افزاري پيچيده اي است ميهمان يك‬
‫سيستم عامل است و از امكانات سيستم عامل در انجام وظايفش استفاده مي‬
‫كند ‪.‬‬
‫‪‬‬
‫كاربران پايگاه داده را مي توان به سه گروه اساس ي و متفاوت تقسيم نمود‪:‬‬
‫◦ برنامه نويسان كاربردي ‪ :‬افرادي هستند كه با اطالعاتي كه در مورد پايگاه داده پيدا مي‬
‫كنند مي توانند برنامه هاي مناسبي جهت بروز كردن اطالعات و يا استفاده از اطالعات‬
‫موجود در پايگاه داده تهيه نمايند ‪.‬‬
‫◦ كاربران واقعي يا نهايي ‪ :‬افرادي هستند كه با استفاده از امكاناتي كه پايگاه داده در‬
‫اختيار آنها قرار مي دهد مي توانند امور مربوط به خود و موسسه و سازمان را انجام‬
‫دهند‪.‬‬
‫◦ مدير پايگاه داده ها ‪ :‬مدير پايگاه داده مسئوليت كنترل متمركز سازمان بر داده هاي‬
‫عملياتي را بر عهده دارد‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تصميم گيري در مورد داده هايي كه در پايگاه داده نگهداري مي شوند‬
‫‪.‬‬
‫تصميم گيري در مورد ذخيره سازي و روش دستيابي است‪.‬‬
‫ارتباط با كاربران براي حصول اطمينان از برآورده شدن نيازهاي آنان ‪.‬‬
‫تعريف بررس يهاي مربوط به امنيت ‪ .‬وجامعيت ‪( .‬صحت عمليات داده‬
‫ها) ‪.‬‬
‫تعريف استراتژي اخذ نسخه پشتيباني و ترميم ‪.‬‬
‫نظارت بر عملكرد سيستم و پاسخگويي به نيازهاي در حال تغيير ‪.‬‬
‫در اين فصل عناوين زير مورد بحث و بررسي قرار مي‬
‫گيرند‪:‬‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫مدل سازي معنايي داده ها‬
‫مدل سازي به روش‪ER‬‬
‫نوع موجوديت‬
‫نمونه موجوديت‬
‫حاالت يك موجوديت‬
‫صفات يك موجوديت‬
‫ارتباط‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫نوع ارتباط‬
‫نمودار‪ER‬‬
‫درجه و ماهيت نوع ارتباط‬
‫حد كارديناليتي‬
‫مشكالت روش‪ER‬‬
‫مدل سازي با روش‪EER‬‬
‫تجزيه و تركيب‬
‫تخصيص و تعميم‬
‫زير نوع هاي همپوشا و مجزا‬
‫دسته بندي و وراثت‬
‫تجمع‬
‫‪‬‬
‫‪‬‬
‫كاربران پايگاه داده به طور معمول با داده هاي ذخيره شده در پايگاه داده‬
‫سر و كار دارند كه اصطالحا به آنها داده هاي عملياتي مي گويند‪ .‬يكي از‬
‫نكات مهم در ذخيره سازي داده ها مدل سازي معنايي آنها مي باشد‪.‬‬
‫يعني داده هاي ذخيره شدني در پايگاه داده ها ابتدا بايد در باالترين سطح‬
‫انتزاع مدل سازي معنايي شوند‪.‬‬
‫مدل سازي معنايي داد هها عبارت است از ارائه مدلي از محيط عملياتي‬
‫به كمك مفاهيم يمستقل از موضوعات مربوط به نمايش منطقي و فيزيكي‬
‫داد ه ها‪ .‬مدل سازي معنايي را در بعضي از كتب طراحي ادراكي نيز مي‬
‫نامند‪.‬‬
‫‪‬‬
‫براي مدل سازي معنايي رو شهاي مختلف وجود دارد‪ .‬رو شهاي كالسيك‬
‫رايج عبارتند از‪:‬‬
‫◦ روش موجوديت‪ -‬ارتباط‬
‫◦ روش موجوديت‪ -‬ارتباط توسعه يافته‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫در سال ‪ 1976‬توسط آقاي ‪ chen‬در ‪ MIT‬ارائه شد و به مرور پيشرفت کرد‪.‬‬
‫تعریف ‪ chen‬از بانک اطالعاتی عبارت بود از تعدادي پديده(موجوديت) داراي‬
‫صفات مشخص و ارتباط بين پديده ها‪.‬‬
‫در اين روش‪ ،‬سه مفهوم معنايي زير وجود دارد‪:‬‬
‫◦ نوع موجوديت‬
‫◦ صفت‬
‫◦ نوع ارتباط‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫نوع موجوديت عبارت است از مفهوم كلي هر آنچه كه مي خواهيم در مورد‬
‫آن اطالعي جمع آوري كنيم و دانش خود را در موردش افزايش دهيم‪ .‬گاه‬
‫به نوع موجوديت‪ ،‬نوع شيي هم مي گوييم‪.‬‬
‫الزم بذكر است كه تشخيص انواع موجوديت ها در يك محيط كاري دشوار‬
‫مي باشد‪.‬‬
‫به طور كلي يك نوع موجوديت داراي خصوصيات زير مي باشد يا به بياني‬
‫ديگر الزم است اطالعات زير در مورد هر نوع موجوديتي بدست آيد‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫نام موجوديت (يا پديده)‬
‫معناي مشخص‬
‫مجموع هاي از صفات‬
‫مجموع هاي از نمون هها‬
‫حالت كنش گري يا كنش پذيري‬
‫عدم وابستگي و يا وابستگي به يك نوع ديگر‬
‫براي مثال در يك سيستم اطالعات اتومبيل انواع موجوديت ها مي توانند‬
‫شامل موجوديت اتومبيل‪ ،‬كشور سازنده (يا مصرف كننده) و‪ ...‬باشند‪ .‬در‬
‫يك سيستم آموزشي انواع موجوديت ها مي توانند شامل موجوديت هاي‬
‫درس‪ ،‬دانشجو‪ ،‬استاد‪ ،‬كالس و‪ ...‬باشند‪.‬‬
‫‪‬‬
‫‪‬‬
‫تمام نمونه هاي مشخص (در مواردي متمايز) هر نوع موجوديت‬
‫از يك محيط مشخص‪ ،‬مجموعه اي به نام مجموعه نمونه هاي‬
‫آن موجوديت را تشكيل مي دهند هر نوع موجوديت خود مي‬
‫تواند داراي نمونه هاي مختلفي باشد كه اين نمونه ها از‬
‫مشخصات نوع خود تبعيت مي كنند‪.‬‬
‫براي مثال موجوديت اتومبيل مي تواند داراي نمونه هايي مانند‬
‫پيكان‪ ،‬پژو‪ ،‬سمند‪ ،‬بنز و‪ ...‬باشد كه هر كدام از اينها در واقع‬
‫يك نمونه از موجوديت اتومبيل هستند‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫يكي از نكات بسيار مهم در تعيين موجوديت ها تعيين مستقل يا وابسته‬
‫بودن موجوديت ها مي باشد‪ .‬يك موجوديت ممكن است به دو صورت قوي‬
‫(مستقل) يا ضعيف (وابسته) باشد‪.‬‬
‫موجوديت قوي يا مستقل‪ :‬موجوديتي است كه مستقل از هر نوع‬
‫موجوديت ديگر و به خودي خود در يك محيط مشخص مطرح باشد‪ .‬اين نوع‬
‫موجوديت وابستگي خاصي به ساير موجوديت هاي محيط عملياتي ندارد‪.‬‬
‫موجوديت ضعيف يا وابسته‪ :‬موجوديت ضعيف موجوديتي است كه‬
‫وجودش وابسته به يك نوع موجوديت ديگر(موجوديت قوي) است‪ .‬الزم بذكر‬
‫است كه اگر موجوديت قوي از مدل معنايي حذف گردد‪ ،‬وجود موجوديت‬
‫ضعيف بي معنا بوده و موجوديت ضعيف نيز حذف مي گردد‪.‬‬
‫‪‬‬
‫نكته‪ :‬مستقل بودن يا وابسته بودن موجوديت ها در محيط عملياتي كه‬
‫مي خواهيم براي آن پايگاه داده اي طراحي كنيم‪ ،‬تعيين مي گردد و اين‬
‫موضوع ارتباطي به وابستگي و يا استقالل موجوديت در دنياي واقعي ندارد‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫هر نوع موجوديت شامل مجموعه اي از صفات (مشخصات) مربوط به آن‬
‫موجوديت است كه حالت يا وضع آن موجوديت را توصيف مي كند‪.‬‬
‫رده بندي صفت‬
‫صفات يك موجوديت بر حسب مفهوم آنها به دسته هاي زير تقسيم مي‬
‫گردند‪:‬‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫ساده يا مركب‬
‫تك مقداري يا چند مقداري‬
‫شناسه يا ناشناسه‬
‫هيچ مقدار پذير يا هيچ مقدار ناپذير‬
‫ذخيره شده (واقعي يا مبنا) يا مشتق‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫صفت ساده‬
‫صفتي است كه مقدار آن تجزيه نشدني مي باشد‪ ،‬به اين‬
‫معنا كه اگر مقدار آنرا به اجزائي تجزيه كنيم‪ ،‬مقادير هر جزء‬
‫فاقد معنا مي باشد‪ .‬مانند اسم درخت‪.‬‬
‫صفت مركب‬
‫صفتي كه از چند صفت ساده تشكيل شده و تجزيه شدني‬
‫مي باشد‪ .‬مانند صفت آدرس كه مي تواند شامل نام كشور‪،‬‬
‫استان‪ ،‬شهر‪ ،‬منطقه و‪ ...‬باشد‪ .‬الزم به ذكر است كه مي توان‬
‫بر حسب نوع نياز بجاي استفاده از يك صفت مركب‪ ،‬صفت‬
‫مذكور را به چندين صفت ساده شكست‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫صفت تك مقداري‬
‫صفت تك مقداري صفتي است كه حداكثر يك مقدار از ميدان مقادير را براي‬
‫يك نمونه از يك نوع موجوديت مي گيرد‪ .‬به بياني ديگر مقدار آن صفت براي‬
‫نوع موجوديت مورد نظر‪ ،‬يك مقدار مشخص از ميدان مقادير مربوط به آن‬
‫صفت مي باشد‪ .‬مثال براي هر شخص يك كد ملي وجود دارد‪.‬‬
‫صفت چند مقداري‬
‫صفتي است كه بيش از يك مقدار از ميدان مقادير را براي حداقل يك نمونه‬
‫از نوع موجوديت در بر مي گيرد‪ .‬مانند صفت مدرك تحصيلي براي يك‬
‫شخص كه ممكن است چند مقداري باشد‪ ،‬ليسانس‪ ،‬فوق ليسانس و‪....‬‬
‫‪‬‬
‫صفت شناسه موجوديت‪ ،‬صفتي است كه بايد‬
‫يكتايي مقدار داشته باشد و حتي االمكان طول‬
‫مقاديرش كوتاه باشد‪.‬‬
‫‪‬‬
‫اين مفهوم از مفاهيم مدل رابطه اي است‪ ،‬مقدار هيچ‬
‫يعني مقدار ناشناخته‪ ،‬مقدار تعريف نشده‪ .‬ممكن است‬
‫مقدار يك صفت براي برخي از نمونه هاي يك نوع‬
‫موجوديت‪ ،‬ناشناخته باشد‪ .‬الزم به ذكر است كه صفت‬
‫شناسه موجوديت نمي تواند هيچ مقدار پذير باشد‪.‬‬
‫‪ ‬صفت واقعي (ذخيره شده)‬
‫صفت واقعي آن صفتي است كه مقاديرش در پايگاه داده ها ذخيره شده باشد‪ .‬بايد‬
‫توجه داشت كه جنانچه صفت بعنوان شناسه نباشد‪ ،‬مي تواند مقدار هيچ را نيز‬
‫داشته باشد‪.‬‬
‫‪ ‬صفت مشتق‬
‫صفتي است كه مقاديرش در پايگاه داده ها ذخيره شده نباشد‪ .‬اين صفت وجود‬
‫خارجي ندارد‪ .‬ولي از روي ديگر صفات قابل محاسبه است‪ .‬مانند سن افراد كه از‬
‫روي تاريخ تولد قابل محاسبه است‪ .‬هر صفت جنبه هاي زير را دارد‪:‬‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫◦‬
‫نام‬
‫معنا‬
‫ميدان (دامنه) مقادير‬
‫نوع مقدار‬
‫طول مقدار (صريح يا صفتي)‬
‫يك يا چند محدوديت ناظر به صفت‬
‫‪‬‬
‫يكي از مفاهيم بسيار مهم در مدل سازي معنايي داده ها مفهوم ارتباط يا‬
‫بستگي است‪.‬‬
‫‪ ‬نوع ارتباط‬
‫نوع ارتباط عبارت است از تعامل ‪ n‬نوع موجودیت (‪ )n>=1‬و ماهيتا نوعي بين‬
‫بستگي بين انواع موجوديت هاست‪ .‬به تعبيري ديگر عملي است كه بين‬
‫انواع موجوديت ها جاري بوده‪ ،‬هست يا خواهد بود‪ .‬هر نوع ارتباط يك‬
‫معناي مشخص داشته و با يك نام بيان مي شود‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫در واقع نموداري است كه در آن سه مفهوم اساسي‬
‫مدل ‪ ER‬یعنی موجوديت‪ ،‬صفت و نوع ارتباط نمايش‬
‫داده مي شوند‪.‬‬
‫هر نمودار ‪ ER‬پاسخگوي مجموعه مشخصي از نيازهاي‬
‫كاربران است و بديهي است كه اين نمودار با تغيير و‬
‫رشد نيازهاي كاربران تغيير يافته و توسعه داده مي‬
‫شود‪.‬‬
‫براي رسم اين نوع نمودار نياز به نمادهايي است كه‬
‫اين نمادها در جدول ذيل آمده است‪.‬‬
‫يكي از نكات مهم در رسم نمودار ‪ ER‬معنای ارتباط بين عناصر است ‪.‬‬
‫بدین صورت كه معناي ارتباط ((انتخاب)) با معناي ارتباط ((حذف)) فرق‬
‫دارد‪.‬‬
‫‪‬‬
‫‪‬‬
‫درجه ارتباط بستگي به تعداد موجوديتها مرتبط به هم دارد‪ .‬به بياني ديگر‬
‫تعداد شركت كنندگان در يك نوع ارتباط را درجه آن ارتباط مي گويند‪.‬‬
‫يگاني (‪ :)Unary‬زماني كه يك نوع ارتباط بين يك نوع موجوديت و خودش‬
‫برقرار باشد‪.‬‬
‫‪‬‬
‫دوگاني )‪ :(Binary‬ارتباط بين دو موجوديت‬
‫‪‬‬
‫سه گاني )‪ : (Ternary‬ارتباط بين سه موجوديت‬
‫‪‬‬
‫ارتباط چند گانی (‪ : )n-ary‬ارتباط بين چند موجودیت‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫یک به یک‬
‫یک به چند‬
‫چند به یک‬
‫چند به چند‬
‫‪‬‬
‫حد كارديناليتي ‪ :‬حد كارديناليتي‪ ،‬حداقل و حداكثر ارتباط‬
‫بين دو موجوديت را مي رساند‪ .‬براي درك بهتر اين مفهوم مثال‬
‫زير ارائه مي گردد‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫در نتيجه درك نادرست و تفسير ناصحيح از معناي‬
‫بعضي ارتباطات در مدل سازي داده ها مشكالتي‬
‫موسوم به دامهاي پيوندي نمايان مي گردد‪.‬‬
‫دام حلقه اي‬
‫دام چند شاخه ای(چتري)‬
‫دام گسل (شكاف)‬
‫‪‬‬
‫اين دام وقتي ايجاد مي شود كه با داشتن مثال سه‬
‫ارتباط دو موجوديتي‪ ،‬وجود يك ارتباط سه موجوديتي را‬
‫نتيجه گيري كنيم‪ ،‬ولي اين استنتاج درست نباشد‪.‬‬
‫‪‬‬
‫اين نوع دام وقتي ايجاد مي شود كه بين يك نوع موجوديت ‪ E‬و موجودیت‬
‫های ‪ F‬و ‪ G‬ارتباط ‪ 1:N‬با مشاركت الزامي وجود داشته باشد‪ ،‬ولي ارتباط‬
‫بين ‪ F‬و ‪ G‬دیده نشده باشد‪ .‬در اين صورت نمي توان وجود ارتباط بين‪ F‬و ‪G‬‬
‫را بدست آورد‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫به دلیل وجود نقاط ضعف در مدل ‪ ER‬مدل ‪ EER‬بوجود آمد‪.‬‬
‫این نقاط ضعف بیشتر زماني نمایان مي شد كه مي خواستیم یك سیستم‬
‫شيء گرا را مدل سازي نماییم‪.‬‬
‫نمونه ای از دام گسل‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فرایند تقسیم یك شيء كل به اجزاء تشكیل دهنده آن را تجزیه گویند‪.‬‬
‫در فرایند تجزیه‪ ،‬شيء كل و اجزاء آن هر یك داراي صفات‪ ،‬ساختار و رفتار‬
‫خاص خود مي باشند‪.‬‬
‫تركیب‪ ،‬عكس عمل تجزیه است كه در آن با داشتن تعدادي نوع موجودیت‪ ،‬یك‬
‫نوع موجودیت جدید را ایجاد مي كنیم‪.‬‬
‫‪‬‬
‫در روش ‪ERR‬ارتباط بین شيء كل و اشیاء جزء را ارتباط " جزئي است از‪...‬‬
‫”گویند‪.‬‬
‫‪‬‬
‫‪‬‬
‫تخصیص فرایندي است كه طي آن نمونه هاي یك نوع موجودیت برتر را بر اساس یك یا چند‬
‫صفت خاصه آن موجودیت برتر تشخیص مي دهیم‪.‬‬
‫الزم به ذكر است كه یك نوع موجودیت مي تواند داراي یك یا چند زیر نوع موجودیت نیز‬
‫باشد‪ .‬ارتباط بین موجودیت برتر و زیر نوع هاي آن را ارتباط " گونه اي است از‪ " ...‬مي‬
‫نامیم‪.‬‬
‫‪‬‬
‫تعمیم عكس عمل تخصیص است كه در آن با داشتن زیر نوع هاي یك نوع‬
‫موجودیت و تعیین صفات مشترك بین آنها‪ ،‬یك مجموعه صفات را براي نوع‬
‫موجودیت برتر در نظر مي گیریم‪.‬‬
‫‪‬‬
‫نمونه هاي یك نوع موجودیت برتر بر اساس صفات خاصه مشترك و مجزا در‬
‫دسته هاي خاص خود دسته بندي مي شوند‪ .‬حال ممكن است یك نمونه‬
‫موجودیت در دو دسته قابل دسته بندي باشد در چنین شرایطي به این نوع‬
‫موجودیت ها‪ ،‬موجودیت هاي همپوشا (مشترك) گویند‪.‬‬
‫‪‬‬
‫در عین حال ممكن است یك نوع موجودیت فقط در یك دسته بندي از‬
‫زیر نوع موجودیت ها قابل دسته بندي باشد‪ .‬به این زیر نوع‬
‫موجودیت ها‪ ،‬موجودیت هاي مجزا مي گویند‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫یك زیر نوع موجودیت مي تواند زیر نوع بیش از یك نوع موجودیت برتر‬
‫باشد‪.‬‬
‫كه در این شرایط بعضي از خواص خود را از یك نوع موجودیت برتر و‬
‫بعضي دیگراز صفات خاصه خود را از یك نوع موجودیت برتر دیگر به ارث‬
‫مي برد‪.‬‬
‫این موجودیت هاي برتر مي توانند از یك نوع باشند كه در این شرایط داراي‬
‫شناسه هاي یكسان هستند‪ .‬ولي در شرایطي كه موجودیت هاي برتر از یك نوع‬
‫نباشند‪ ،‬در واقع وراثت چندگانه رخ داده است‪ .‬به این زیر نوع ها در اصطالح‬
‫دسته (طبقه) مي گویند و در بعضي از كتاب ها به این زیر نوع اصطالحا نوع‬
‫اجتماع مي گویند‪.‬‬
‫‪‬‬
‫تجمع بدین معنا است كه یك نوع موجودیت جدید را بر اساس دو یا چند‬
‫موجودیت مرتبط با یكدیگر‪ ،‬به صورت یكپارچه در یك نوع موجودیت واحد‬
‫ارائه نماییم‪ .‬بدیهي است كه این نوع موجودیت واحد خود مي تواند با نوع‬
‫موجودیت هاي دیگر نیز در ارتباط باشد‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫با مطرح شدن الگوهاي شيء گرایي كه هر موجودیت در جهان واقع را‬
‫شامل داده هاي آن موجودیت و عملكردهاي مرتبط با آن توصیف مي كرد‪،‬‬
‫طراحان سیستم روش هاي‪ ER‬و ‪ EER‬را ناكارآمد تشخیص داده و در‬
‫جستجوي تعریف یك متودولوژي جدید بودند تا بتوانند عملكرد هر موجودیت‬
‫را نیز به نمایش در آورند‪.‬‬
‫از اینرو گروه ‪ Object Management Group‬روش استانداردی‬
‫به نام ‪ UML‬جهت ایجاد سیستم های کاربردی پیشنهاد کردند‪.‬‬
‫مهمترین خصوصیت این روش‪ ،‬ایجاد امكاني براي ایجاد و نمایش اشیاء‬
‫جهان واقع‪ ،‬بصورت تصویري است‪.‬‬
‫یكي از نكات بسیار مهم در استفاده موثر از این روش وجود دانش كافي در‬
‫مفاهیم شيء گرایي است‪.‬‬
‫‪ ‬اساس روش بر مبناي نمودار (دیاگرام) مي باشد‪ .‬نمونه هایی از این‬
‫نمودار ها عبارتند از ‪:‬‬
‫• نمودار كالس‬
‫• نمودار چرخه حیات موجودیت‬
‫• نمودار مورد استفاده‬
‫• نمودار فعالیت‬
‫• نمودار پیاده سازي‬
‫‪‬‬
‫‪‬‬
‫مهمترین نمودار در این روش نمودار كالس مي باشد‪ .‬این نمودار‬
‫مجموعه اي از موجودیت ها و عملیات (پردازش) مرتبط با موجودیت‬
‫ها را مدل سازي مي كند‪.‬‬
‫عملیات در واقع رفتار شيء را نشان مي دهد و به بیاني دیگر رویداد‬
‫هاي مرتبط با شيء را به نمایش در مي آورد‪ .‬مفاهیم اصلي در‬
‫مدلسازي با این روش عبارتند از‪:‬‬
‫◦ كالس‬
‫◦ صفت‬
‫◦ بستگي‬
‫‪‬‬
‫در روش ‪UML‬دوگونه ارتباط بین رده ها وجود دارد كه این دونوع‬
‫ارتباط عبارتند از‪:‬‬
‫◦ بستگي ‪ ،‬كه در این بین مفهوم بستگي همان ارتباط بین كالس ها است‪.‬‬
‫◦ تجمیع ‪ ،‬نیز عبارت است از ارتباط بین یك شيء كل و شيءهاي جزء تشكیل‬
‫دهنده آن‪.‬‬
‫معماری پایگاه داده‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫هدف كلي ‪:‬‬
‫در این فصل معماري سه سطحي پایگاه داده مورد بحث و بررسي‬
‫قرار خواهد گرفت‪.‬‬
‫در این راستا سطوح خارجي‪ ،‬ادراكي و داخلي بصورتي دقیق تر‬
‫مورد ارزیابي قرار خواهند گرفت‪.‬‬
‫در ادامه با سایر اجزاء پایگاه داده آشنا خواهیم شد و زبان هاي‬
‫مختلف مورد استفاده درون پایگاه داده نیز بررسي خواهند شد‪.‬‬
‫‪‬‬
‫‪‬‬
‫از آنجا كه در چگونگي معماري "پایگاه داده ها" حداقل در سالهاي‬
‫آغازین ایجاد این تکنولوژی بین كارشناسان اتفاق نظر نبود‪ ،‬لذا‬
‫‪ ANSI/SPARC‬با توجه به اهمیت محیط انتزاعي‪ ،‬معماري پایگاه‬
‫داده ها را (به عنوان یك معماري استاندارد) پیشنهاد كرد‪ .‬این معماري‬
‫به معماري سه سطحي موسوم است‪.‬‬
‫باید توجه داشت كه این سه سطح‪ ،‬اساسا سه سطح "تعریف داد هها"‬
‫هستند‪ :‬دوسطح خارجي و ادراكي در محیطي انتزاعي هستند و سطح‬
‫سوم كه همان سطح داخلي نماي ساده اي از معماري ‪ -‬است در محیط‬
‫فایلینگ منطقي قرار گرفته است‪.‬‬
‫واضح است كه سطح فیزیكي یك الیه پایین تر از سطح داخلي قرار مي گیرد‪ .‬در بعضي از پایگاه هاي‬
‫داده‪ ،‬سطح فیزیكي نیز جزئي از معماري محسوب مي گردد‪.‬‬
‫در این معماري عالوه بر سه سطح‪ ،‬اجزاي‬
‫دیگري هم دیده مي شود كه در واقع جزء‬
‫"سیستم پایگاه داده ها" هستند‪.‬‬
‫‪ o‬در اینجا سه سطح و نیزاجزاء دیگر را‬
‫نام مي بریم‪:‬‬
‫• كاربر‬
‫• زبان میزبان‬
‫• زبان داد هاي فرعي‬
‫• دید خارجي‬
‫• دید ادراكي‬
‫• دید داخلي‬
‫• فایلهاي فیزیكي‬
‫• سیستم مدیریت پایگا هداد هها‬
‫• مدیر پایگا هداد هها‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫دید (نماي) ادراكي (مفهومي)‬
‫دید (نماي) خارجي‬
‫دید (نماي) داخلي‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫دید یا نماي ادراكي در واقع همان دید طراح پایگا هداد هها نسبت به‬
‫داد ه هاي ذخیره شدني در پایگا ه داده است‪.‬‬
‫این دید یك دید جامع (سرتاسري) بوده و تمام نیازهاي كاربران در‬
‫محیط عملیاتي را در بر میگیرد‪.‬‬
‫این دید در یك محیط انتزاعي مطرح است‪ :‬بنابرین مبتني است بر یك‬
‫ساختار داد هاي مشخص (از یك مدل داد هاي كه انتزاع الزم را تامین‬
‫م یكند)‪.‬‬
‫این دید‪ ،‬با استفاده از عناصر ساختاري اساسي همان ساختار داد هاي‪،‬‬
‫طراحي میشود‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫این دید باید (پس از طراحي طبعا) توصیف شود‪ .‬به وصف یا شرح‬
‫دید ادراكي‪ ،‬شماي ادراكي م یگوییم‪ .‬شماي ادراكي نوعي "برنامه"‬
‫است حاوي دستورات "تعریف داد هها" و "كنترل داد هها" (و نه‬
‫دستورات عملیات در داد هها)‪ .‬سطح ادراكي در واقع همین شماي‬
‫ادراكي است‪.‬‬
‫• شماي ادراكي به سیستم داده م یشود و در كاتالوگ سیستم نگهداري‬
‫مي شود‪.‬‬
‫به بیاني ساده‪ ،‬دید ادراكي همان تعریف جدول مي باشد‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫مفهوم دید یا نماي خارجي در واقع همان مفهوم یاست كه در تحلیل و طراحي یك سیستم‬
‫بكار برده م یشود‪ .‬در ادامه تعاریف و نكاتي در مورد دید خارجي آمده است‪:‬‬
‫دید كاربر خاص است نسبت به داد ههاي ذخیره شده در پایگا هداد هها‪.‬‬
‫این دید جزیي است و نه جامع‪ :‬نشان دهنده "محدود هاي " از پایگا ه داد ه ها كه به‬
‫نیازهاي اطالعاتي یك كاربر خاص پاسخ میدهد‪.‬‬
‫این دید هم در سطح انتزاعي مطرح است‪ :‬بنابرین مبتني است بر یك ساختارداد ه هاي‬
‫مشخص و معموال همان ساختار داد هاي كه دید ادراكي بر اساس آن طراحي و تعریف‬
‫میشود‪.‬‬
‫این دید روي دید ادراكي طراحي و تعریف مي شود (به همین دلیل به جدولهاي سطح‬
‫ادراكي‪ ،‬جدولهاي مبنا یا پایه میگویند)‪.‬‬
‫به وصف یا تعریف دید خارجي‪ ،‬شماي خارجي میگوییم‪ :‬نوعي "برنامه ” كه كاربر سطح‬
‫خارجي مینویسد حاوي دستورات "تعریف داد ه ها " و گاه "كنترل داد هها" در همان سطح‬
‫خارجي‪ .‬شماي خارجي هم به سیستم داده میشود و در كاتالوگ آن نگهداري مي شود‪.‬‬
‫به تعریف مجموعه دیدهاي خارجي كاربر‪ ،‬سطح خارجي گفته میشود‪.‬‬
‫‪‬‬
‫نكته‪ :‬حداقل از لحاظ نظري مي توان گفت كه ساختار (مدل) داده اي‬
‫در دو سطح انتزاعي یعني سطح خارجي و سطح ادراكي مي تواند‬
‫یكسان نباشد‪ .‬با این وصف‪ ،‬بدیهي است كه یك نرم افزار واسط براي‬
‫تبدیل دو ساختار به یكدیگر الزم است‪.‬‬
‫‪‬‬
‫سطح داخلي‪ ،‬همان سطح فایلینگ منطقي پایگاه داده هاست‬