پایگاه داده ها
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در اینجا سه سطح و نیزاجزاء دیگر را
نام مي بریم:
• كاربر
• زبان میزبان
• زبان داد هاي فرعي
• دید خارجي
• دید ادراكي
• دید داخلي
• فایلهاي فیزیكي
• سیستم مدیریت پایگا هداد هها
• مدیر پایگا هداد هها
دید (نماي) ادراكي (مفهومي)
دید (نماي) خارجي
دید (نماي) داخلي
دید یا نماي ادراكي در واقع همان دید طراح پایگا هداد هها نسبت به
داد ه هاي ذخیره شدني در پایگا ه داده است.
این دید یك دید جامع (سرتاسري) بوده و تمام نیازهاي كاربران در
محیط عملیاتي را در بر میگیرد.
این دید در یك محیط انتزاعي مطرح است :بنابرین مبتني است بر یك
ساختار داد هاي مشخص (از یك مدل داد هاي كه انتزاع الزم را تامین
م یكند).
این دید ،با استفاده از عناصر ساختاري اساسي همان ساختار داد هاي،
طراحي میشود.
این دید باید (پس از طراحي طبعا) توصیف شود .به وصف یا شرح
دید ادراكي ،شماي ادراكي م یگوییم .شماي ادراكي نوعي "برنامه"
است حاوي دستورات "تعریف داد هها" و "كنترل داد هها" (و نه
دستورات عملیات در داد هها) .سطح ادراكي در واقع همین شماي
ادراكي است.
• شماي ادراكي به سیستم داده م یشود و در كاتالوگ سیستم نگهداري
مي شود.
به بیاني ساده ،دید ادراكي همان تعریف جدول مي باشد.
مفهوم دید یا نماي خارجي در واقع همان مفهوم یاست كه در تحلیل و طراحي یك سیستم
بكار برده م یشود .در ادامه تعاریف و نكاتي در مورد دید خارجي آمده است:
دید كاربر خاص است نسبت به داد ههاي ذخیره شده در پایگا هداد هها.
این دید جزیي است و نه جامع :نشان دهنده "محدود هاي " از پایگا ه داد ه ها كه به
نیازهاي اطالعاتي یك كاربر خاص پاسخ میدهد.
این دید هم در سطح انتزاعي مطرح است :بنابرین مبتني است بر یك ساختارداد ه هاي
مشخص و معموال همان ساختار داد هاي كه دید ادراكي بر اساس آن طراحي و تعریف
میشود.
این دید روي دید ادراكي طراحي و تعریف مي شود (به همین دلیل به جدولهاي سطح
ادراكي ،جدولهاي مبنا یا پایه میگویند).
به وصف یا تعریف دید خارجي ،شماي خارجي میگوییم :نوعي "برنامه ” كه كاربر سطح
خارجي مینویسد حاوي دستورات "تعریف داد ه ها " و گاه "كنترل داد هها" در همان سطح
خارجي .شماي خارجي هم به سیستم داده میشود و در كاتالوگ آن نگهداري مي شود.
به تعریف مجموعه دیدهاي خارجي كاربر ،سطح خارجي گفته میشود.
نكته :حداقل از لحاظ نظري مي توان گفت كه ساختار (مدل) داده اي
در دو سطح انتزاعي یعني سطح خارجي و سطح ادراكي مي تواند
یكسان نباشد .با این وصف ،بدیهي است كه یك نرم افزار واسط براي
تبدیل دو ساختار به یكدیگر الزم است.
سطح داخلي ،همان سطح فایلینگ منطقي پایگاه داده هاست