بخشی از پاورپوینت

اسلاید 1 :

بسم الله الرحمن ا لرحیم

اسلاید 2 :

فصل پنجم:

جامعیت پایگاه داده ها و سیستم فعال

اسلاید 3 :

تعریف جامعیت :
جامعیت ( تمامیت ) پایگاه داده ها یعنی صحت و دقت داده های ذخیره شده در پایگاه داده ها .
می توان جمعیت پایگاه داده ها را اعتبار و کامل داده های ذخیره شده نیز دانست .
کامل بودن + اعتبار = جامعیت
کامل بودن : یعنی پایگاه حاوی تمام حقایق ( واقعیات ) راجع به فرد جهان واقع باشد .
اعتبار: یعنی پایگاه حاوی چیزی حز حقایق نباشد به بیان دیگر همیشه حاوی گزاره های درست باشد .
عوامل نقض جامعیت :
اشتباه در برنامه های کاربردی
اشتباه در وارد کردن داده ها
مواردکنترل نشده تراکنش ها
وجود افزونگی کنترل نشده
اشتباه در یک تراکنش
نقص های نرم افزاری و سخت افزاری
عامل اصلی در نقص جامعیت پایگاه داده ها : اشتباهات معنایی ( سمنتیک ) هستند که خود از
عدم دقت کاربران و یا نبود شناخت کافی از قواعد و محدودیت های معنایی فرد جهان واقع و عدم
اعمال آن ها ناشی می شود .

اسلاید 4 :

مسئولیت کنترل جامعیت :
محدودیت های جامیتی باید به نحوی اعمال شوند . این کار بر عهده کیست ؟ سه پاسخ برای این سوال متصور است :

1- طرح برنامه های کاربردی : در این حالت ، کنترل جامعیت از اطمینان و انسجام لازم برخوردار نیست . بعلاوه اگر برخی از محدودیت های جامعیتی تغییر کنند ، برنامه ها باید متناسباً اصلاح شوند .

2- طراح تراکنش ها : در این صورت هر تراکنش باید از لحاظ رعایت محدودیت ها و اعمال آن ها صحیح می باشد :

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

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

اسلاید 5 :

انواع محدودیت های جامعیتی :
در اساس دورده محدودیت های جامعیتی وجود دارد :

1- محدودیت های ساختاری : این نوع محدودیت ، خاص یک مدل داده ای است و خاصیتی در مورد عنصر(عنصر) ساختاری اساسی وسایرعناصرساختاری مدل داده ای رابیان می کند.معمولاً حالت ایستاداردو جزء مدل داده ای است.
بعضی از محدودیت های ساختاری :
الف ) محدودیت میدانی : نوع D
ب ) محدودیت هیچمقدار ناپذیری کلید ( قاعده جامعیت موجودیتی : C1 ) : نوع E
ج ) محدودیت ارجاعی ( قاعده جامعیت ارجاعی : C2 ) : نو R
د ) محدودیت ستونی ( سفتی ) : نوع C

اسلاید 6 :

2- محدودیت های نا ساختاری ( رفتاری ) : این نوع محدودیت ، قاعده ای است از خرد جهان واقع که باید در عملیات روی پایگاه داده ها ، رعایت شود . می توان این نوع محدودیت را جزء محدودیت های کاربری محسوب کرد .
بعضی از محدودیت های نا ساختاری :
الف ) وابستگی تابعی بین صفحات
ب ) وابستگی چند مقداری بین صفحات
ج) وابستگی مشمول ( مقادیر یک صفت از یک رابطه ، زیر مجموعه ای از مقادیر یک صفت از رابطه ای دیگر باشد .
د) محدودیت گذاری : محدودیتی است ناظر به وضع ( حالت ) پایگاه داده ها بعد از اجرای یک تراکنش
و ) محدودیت زمانی : محدودیتی است که در آن قید زمان استفاده شود .
هـ ) محدودیت مدیریتی : محدودیتی است جاری در خرد جهان واقع و ناظر به داده های آن
و معمولاً از رویه ها ، قواعد و آیین نامه های مدیریتی ناشی می شود .

اسلاید 7 :

روش های توصیف محدودیت های جامعیتی :

1- روش زبانی : محدودیت های جامعیتی به کمک دستورات تحریف داده ها ( DDL ) بیان می شوند .

2- روش فرمی : محدودیت ها از طریق پر کردن یک فرم تولید شده توسط سیستم ، به سیستم داده می شوند .

3- روش جعبه ابزاری : محدودیت به کمک جعبه ابزار به سیستم داده می شود ، آنچه که در سیستم super Base وجود دارد .

4- روش گرافیکی : محدودیت جامعیتی به کمک نمادهای گرافیکی به سیستم داده می شود .
روش اول حالت اعلانی دارد و نسبت به سه روش دیگر رایجتر است . سه روش دیگر حالت کاربر پسند دارند .
در حالت اعلانی : دستورات توصیف محدودیت ها ، بخشی ازشای پایگاه داده ها ، گاه حتی تا 90 درصد آن را تشکیل می دهند .

اسلاید 8 :

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

اسلاید 9 :

قاعده فعال : به آن قاعدهای است که در آن طرز رفتار سیستم در اوضاع مورد نظر ، مشخص می شود . در اساس یک سه تایی به صورت < e , c , a > است که در آن ، e : رویداد ، c : شرط و a : اقدام کنش است و به آن قاعده ECA می گویند قاعده فعال به صورت کلی زیر نوشته می شود .
ON Event IF Condition THEN Action
البته در بعضی از سیستم ما قاعده CA وجود دارد ، قاعده ای که با بروز وضع مشخصی در پایگاه داده ها فعال می شود ولی مدل ECA رایجتر است .
ایده قاعده فعال ، همان ایده قاعده تولید در هوش مصنوعی است . در سیستم هوش مصنوعی قاعده تولید چنین است .
اقدامشرط

اسلاید 10 :

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

انوع رویداد ها در شکل روبرو :

رویداد ممکن است ساده یا مرکب باشد ، رویداد مرکب از چند رویداد ساده تشکیل شده و به کمک عملگرهای OR و AND و یک عبارت منطقی بیان می شود .
رویداد می تواند دارای قید زمان باشد .
رویداد باید به نحوی توصیف شود . چگونگی توصیف رویداد و روش کشف آن بسیار بستگی به منشا بروز رویداد دارد .

اسلاید 11 :

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

اختیاری : قاعده فعال فقط به صورت شرط – اقدام است

رویداد :اجباری : قاعده فعال همان صورت کلی تر رویداد – شرط – اقدام را دارد .

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

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

اقدام : عملی است که در صورت وجود شرط انجام می شود . عمل ممکن است به صورت یک پرش ساده مثلاً در SQL و نیز ممکن است عملی روی یک تراکنش باشد . مثلاً COMMIT یا ABORT و یا یک برنامه ی بیرونی که بطور اتوماتیک اجرا خواهد شد .

اسلاید 12 :

معماری سیستم فعال : اجزاء معماری
پیاده سازی معماری
اجزاء معماری : سیستم فعال ، هنوز از نظر اجزاء تشکیل دهنده ی آن ، معماری استانداردی ندارد .

1- تحلیلگر قواعد : قاعده را در فرم بیرونی آن می گیرد ، پس از تحلیل کردن ، آن را به فرم درونی دیکشنری قواعده ذخیره می کند .

2- موتور قواعد : اجرای قاعده را در پی بروز رویداد هماهنگ می کند . این واحد رویداد ها را دریافت می کند و قواعده مناسب برای اجرا را تعیین می کند .

3- پایشگر رویداد ها : رویداد ها را باز شناسی می کند و سپس از موتور قواعد در خواست می کند تا قاعده مناسب را، در پی بروز رویداد ، اجرا کند .

اسلاید 13 :

4- ارزیاب شرط : این واحد پیرو تقاضای موتور قواعد ، شرط را ارزیابی می کند و نتیجه ارزیابی را به موتور قواعد بر می گردادند .

5- اجرا کننده اقدام : این واحد اقدام موجود در قاعده را اجرا می کند .

6- دیکشنری قواعد : بخشی از متا داده ها است که تعریف قواعد ، در فرم درونی آن ها،در آن نگهداری می شود .

اسلاید 15 :

پیاده سازی معماری : دو روش برای پایده سازی معماری سیستم فعال وجود دارد

1- روش سیستم یکپارچه : در این روش واحدهای لازم برای یک سیستم فعال به خودسیستم مدیریت پایگاه داده ها افزوده می شود .

مزایا :

الف ) نیازی به تغییر دادن برنامه های کاربردی نیست
ب ) بهینه سازی قواعد ECA بر عهده خود سیستم مدیریت پایگاه داده ها است .
ج ) قابلیت های سیستم مدیریت پایگاه داده ها گسترش می یابد .
د ) واحد مندی برنامه های کاربردی بهتر و نگهداری آن ها آسانتر می شود .

لازمه یکپارچه سازی این است که دستیابی به لایه های درونی سیستم مدیریت پایگاه داده ها امکان پذیر باشد . و برای این کار باید کد مبدا سیستم در دسترس باشد .

2- روش میانجی،دراین روش،یک زیرسیستم فعال به عنوان میانجی بایک سیستم مدیریت پایگاه داده هاایجاد می شودواین زیر سیستم ، روی سیستم مدیریت پایگاه داده هااجرامی شود.

مزایا :

الف ) نا مرئی بودن میانجی برای برنامه های کاربران
ب ) محفوظ ماندن قالبیت های موجود سیستم مدیریت پایگاه داده ها
ج ) گسترش قابلیت های موجود سیستم مدیریت پایگاه داده ها
د ) معماری سیستم میزان شونده ( مقیاس پذیر ) می شود
ن ) سیستم جابجا پذیر می شود .

اسلاید 16 :

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

1- زمان دخالت دادن رویداد : رویداد را باید در چه زمانی دخالت داد ؟ ( دو پایخ متصور است )
الف ) درست در لحظه ی بروز رویداد ب ) وقتی که هیچ قاعده دیگری فعال نباشد .

2- اولویت امال قاعده بر اساس چه اولویتی اعمال شوند ؟ ( دو پاسخ وجود داد )
الف ) بر اساس ترتیب معرفی قواعد به سیستم ب ) تعیین اولویت توسط خود سیستم

3- زمان اقدام : اقدام در چه زمانی باید انجام شود ؟ پاسخ به این سوال بستگی به پاسخ سیستم به سوال چهارم دارد .

4- ساختار اقدام : آیا اقدام باید به صورت یک تراکنش جداگانه درنظر گرفته شود یا بخشی از همان تراکنش که قاعده را فعال کرده است ؟

در پاسخ به سوالات 3 و 4 باید دید که رویداد چگونه با ارزیابی شرط داده شده ،
مرتبط است . سه روش برای ارزیابی شرط وجود دارد .

اسلاید 17 :

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

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

اسلاید 18 :

6- پردازش اشتباه : اگر اجرای یک قاعده منجر به بروز اشتباه در زمان اجرا شود ، سیستم چه باید بکند ؟
در اکثر سیستم های موجود ، با بروز اشتباه در اثنای اجرای قاعده فعال ، تراکنش در جریان ، طرد می شود . راه دیگر این است که سیستم به اجرای قاعده پایان دهد ، ولی پایگاه به وضعیت قبل از شروع اجرای قاعده بر گردانده شود و احیاناً اجرای قاعده از سر گرفته شود .

7- سطح اعمال قاعده آیا ( در سیستم های رابطه ای ) قاعده باید در سطح تاپل اعمال شود ( قاعده فعال تاپلی ) یا در سطح حکم ( قاعده فعال حکمی ) ؟ به بیان دیگر آیا قاعده را باید برای هر تاپل اعمال کرد یا برای مجموعه ای از تاپل ها که در اجرای یک حکم دخالت کند . در برخی سیستم ها هر دو امکان و در بعضی دیگر فقط امکان دوم وجود دارد .
مدل کلی – اجرای قاعده فعال :

اسلاید 19 :

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

فرجام ( انجام ) : یک مجموعه قواعد فرجام دارد هر گاه برای هر تراکنش تعریف شده توسط کاربر که سبب رهانش پردازش قواعد می شود ، وقتی که پردازش احتمالاً به فرجام می رسد ، یک وضعیت نهایی برای پایگاه داده ها تولید کند .

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

برینمندی پیدا : یک مجموعه قواعد ، ویژگی برینمندی پیدا دارد هر گاه علاوه بر ویژگی هم جریلنی ، برای هر تراکنش تعریف شده توسط کاربر ، تمام اقدامات قابل روئیت
انجام شده توسط قواعد یکسان باشند .
توجه : در طراحی یک سیستم فعال ، باید حتی الامکان این سه ویژگی مجموعه
قواعد تامین شوند .

اسلاید 20 :

مراحل اعمال محدودیت ها توسط سیستم فعال :

1- وارسی محدودیت جامعیتی
2- وارسی سازگاری و افزونگی محدودیت
3- ساده سازی محدودیت

4- روش های اعمال محدودیت های جامعیتی : برای تامین جامعیت پایگاه داده ها ، سیستم باید مرتباً رعایت محدودیت های جامعیتی توسط تراکنش ها را کنترل کند . از لحاظ تئوریک ، دو روش برای کنترل وجود دارد :

الف ) روش کشف : این روش مبتنی بر انجام پسا آزمون ( تست ) پس از اجرای عملیات در پایگاه داده ها است . در این روش ، سیستم ، پس از اجرای تراکنش تغییر دهنده داده ها ، تست می کند آیا محدودیت های جامعیتی رعایت شده اند یا نه . اگر رعایت نشده باشند ، تراکنش UNDOمی شود .

ب ) روش پیشگیری : این روش مبتنی است برپیشگیری انجام عملیاتی که محدودیت جامعیتی را رعایت نمی کند . برای این منظور ، سیستم پیش آزمون های لازم را انجام می دهد تا معلوم شود آیا در صورت اجرای تراکنش محدودیت های جامعیتی رعایت می شوند یا نه ؟

سه تکنیک برای پیشگیری وجود دارد :
1- تکنیک تحلیل تراکنش 2- تکنیک تغییر پرسش 3- تکنیک فضای کاری تراکنش

در متن اصلی پاورپوینت به هم ریختگی وجود ندارد. برای مطالعه بیشتر پاورپوینت آن را خریداری کنید