انجام پایان نامه

درخواست همکاری انجام پایان نامه  بانک مقالات رایگان انجام پایان نامه

سفارش پایان نامه

|

انجام پایان نامه ارشد

 پایان نامه تریگر های فازی در پایگاه داده فعال

انجام پایان نامه|تریگر های فازی در پایگاه داده فعال


بخش اول



مفاهيم و تعاريف

کارهاي انجام شده




فصل اول: كليات
1-1 مقدمه
با ايجاد سيستم‌هاي مديريت پايگاه داده عمده مشكلات ساختار، پشتيباني و مديريت داده‌هاي حجيم در سيستم‌هاي فايلي برطرف شد اما توجهي به جنبه‌هاي رفتاري پايگاه داده نشد. به اين معنا كه با استفاده از قيود جامعيت   شايد بتوان از منفي شدن مبلغ حقوق كارمندان جلوگيري نمود اما نمي‌توان مانع از بيشتر شدن حقوق آن‌ها از مديرانشان شد. در چنين مواردي كاربران پايگاه داده با اجراي يك پرس و جو   موارد نقض محدوديت‌هايي از اين قبيل را پيدا نموده و خود اقدام به اصلاح آن‌ها مي‌نمايند.
مواردي اين چنين و نيز گزارشات مديريتي در آغاز ماه از جمله كارهاي مشخص و داراي ضابطه‌اي مي‌باشند كه انجام آن‌ها تكراري و قابل تفويض به سيستم است.
كاربران غيرمجاز با استفاده از يك سري گزارشات، غيرمستقيم به اطلاعات كليدي دست يافته و اقدام به تغيير آن‌ها مي‌نمايند. پيدا نمودن چنين تغييراتي كه معمولاً بعد از گزارشات اتفاق مي‌افتند، به راحتي امكان‌پذير نيست. همانطور كه مشاهده مي‌شود در يك پايگاه داده معمولي رديابي رويدادهايي كه در سيستم اتفاق افتاده‌اند (رخدادها) نيز ممكن نبوده و نياز به يك سيستم با پشتيباني جنبه‌هاي رفتاري مي‌باشد.
يک پايگاه داده فعال نظير Oracle قادر به تشخيص رويدادهاي نظير اضافه، حذف و تغيير مقادير در پايگاه داده مي‌باشند. به عبارت ديگر اين سيستم‌ها با ايجاد تغيير در يك قلم داده عكس‌العمل نشان مي‌دهند.
پايگاه دادة فعال با افزودن قوانين به پايگاه‌هاي داده امكان تعامل (كنش و واكنش) بين سيستم و پايگاه داده را ايجاد نمود. اين نوع پايگاه داده داراي دو بخش مديريت داده و مديريت قوانين مي‌باشد. بخش مديريت داده مسئول حفظ خواص پايگاه داده در سيستم‌هاي كاربردي بوده و بخش دوم با مديريت قوانين مسئول واكنش به رويدادهاي سيستم مي‌باشد. در اين نوع پايگاه داده طراحان سيستم قادرند با تعريف قوانين كه نزديكترين بيان به زبان طبيعي مي‌باشد، سيستم را وادار به عكس‌العمل مناسب در مقابل رويدادهاي مهم نمايند [13].
پايگاه داده فعال با استفاده از قوانين قادر به «پشتيباني گسترده‌تر قيود جامعيت و سازگاري داده‌ها، واكنش در مقابل رخدادهاي سيستم كاربردي، عدم اجراي تقاضاهاي مشكوك، رديابي رويدادها، گزارشات ماهانه و...» مي‌باشد.
همانطور كه گفته شد آن‌چه كه به طور معمول باعث مي‌شود يك پايگاه داده را فعال بدانيم، عكس‌العمل سيستم در مقابل وضعيت‌هايي است كه در پايگاه داده و يا حتي خارج از آن به وجود مي‌آيد. اين وضعيت‌ها مي‌تواند شامل يك حذف غيرمجاز و يا تغيير وضعيت پايگاه داده باشد. بايد توجه داشت كه داشتن تعامل براي يك پايگاه داده لازم اما كافي نيست. بسياري از سيستم‌هاي پايگاه داده بدون رعايت اصول پايه‌اي كه در زير به آن اشاره مي‌شود به طور عام پايگاه دادة فعال ناميده شوند [14].
اينگونه سيستم‌ها بايد يك پايگاه داده باشند، يعني در صورتي كه كاربر فراموش كرد، سيستم مورد نظر پايگاه دادة فعال است بتواند از آن به عنوان يك پايگاه داده معمولي استفاده نمايد (در صورت لزوم بتوان به عنوان يك پايگاه دادة معمولي از آن استفاده نمود).
در اينگونه سيستم‌ها بايد امكان تعريف و مديريت قوانين وجود داشته باشد. اين قوانين در پايگاه داده فعال داراي سه جزء رويداد ، شرط  و واكنش  مي‌باشند.
اين سيستم‌ها بايد داراي يك مدل اجرايي باشند. به اين ترتيب كه با بروز رويداد و صحت شرط، واكنش قانون اجرا شود. يك پايگاه داده فعال بايد قادر به آشكارسازي رويدادها و بررسي شرط قوانين فعال و اجراي فرامين واكنش باشد.
علاوه بر موارد فوق، بهتر است در اين سيستم‌ها محيط مناسبي براي تعريف و امكان كامپايل كردن قوانين فراهم شود كه به كاربر در تعريف قوانين كمك كند.
فازي‌سازي پايگاه‌هاي داده فعال با هدف نزديكتر نمودن زبان بيان قوانين به زبان طبيعي طراحان مطرح شد. اغلب تقاضاهاي كاربران پايگاه داده فعال، فازي مي‌باشد. به عنوان نمونه در تقاضاهايي نظير عدم تعلق پاداش به كارمندان «كم‌كار»، «افزايش» فشارخون، محاسبة حقوق كارمندان در «پايان» هر ماه و... از كلمات فازي استفاده شده است كه عدم پشتيباني مفاهيم فازي و به كار بردن مقادير دقيق منجر به حصول نتايج نامطلوب در برخي سيستم‌هاي كاربردي مي‌شود.
تفاوت اصلي در فازي‌سازي پايگاه دادة فعال با ساير سيستم‌هاي فازي، در نوع تعريف قوانين مي‌باشد. به اين ترتيب كه در تعريف قوانين در اينجا از سه جزء اصلي رويداد، شرط و واكنش استفاده مي‌شود در صورتي كه سيستم‌هاي مبتني بر قانون عموماً از دو جزء شرط و واكنش تشكيل شده‌اند اما فازي نمودن شرط و واكنش قوانين در پايگاه‌هاي داده فعال تفاوت چنداني با شرط و واكنش فازي در سيستم‌هاي مبتني بر قانون ندارد و در فازي نمودن رويداد نيز مي‌توان از همان سياق رويدادهاي فازي استفاده نمود اين بحث توسط ولسكي و بوازيز در [7] مطرح شده است.
در اين پايان‌نامه سعي شده است بحث‌هاي مطرح شده در پايگاه‌هاي داده فعال فازي، با يك نمونه پياده‌سازي شده بطور خلاصه بررسي شود. همچنين در ادامه با معرفي عمل رونوشت برداري و بکار گيري قوانين فازي(تريگرهاي فازي) در عمل رونوشت برداري روش بهبود يافته جديدي معرفي شود..
1-2 مروري بر فصول پايان‌نامه
در ادامه اين پايان‌نامه در فصل دوم مفاهيم پايگاه دادة فعال ارائه شده است. همچنين مدل اجرايي، نمونه‌هايي از اين نوع پايگاه داده و برخي كاربردهاي پايگاه دادة فعال در ادامة اين فصل آمده است.
در فصل سوم مختصري از مفاهيم فازي ارائه شده است.
فصل چهارم شامل چگونگي پشتيباني مفاهيم فازي در بخش‌هاي مختلف يك پايگاه داده فعال مي‌باشد.
فصل پنجم به بيان طرح استفاده از تريگرهاي فازي در پايگاه دادة فعال جهت ارائه روش جديد رونوشت برداري فازي مي‌پردازد و مزايا استفاده از روش رونوشت برداري فازي نسبت به روشهاي مرسوم قديمي با يك نمونه پياده‌سازي شده و مقايسة آن با نمونة غيرفازي ارائه شده است.
فصل ششم به بيان چگونگي پياده سازي تريگرهاي فازي در پايگاه دادة فعال غير فازي و نيز پياده سازي رونوشت برداري فازي بوسيله آن مي پردازد.



فصل دوم: پايگاه داده فعال

پايگاه داده فعال با هدف افزودن تعامل به پايگاه داده و با استفاده از تعريف قوانين ايجاد شد. اولين پايگاه داده فعال، توسط Dayal و همكارانش در يك پروژه دانشگاهي به نام [15]Hipac مطرح شد. پايگاه داده اين نرم‌افزار همانند [16]Samos شي‌ءگرا مي‌باشد. علاوه بر پايگاه‌هاي داده فعال شي‌ءگرا سيستم‌هايي با پايگاه داده‌ي فعال رابطه‌اي نيز ايجاد شده‌اند كه از جملة آن‌ها مي‌توان [17]Starburst و [18]Arial را نام برد، اين نوع پايگاه‌هاي داده به جاي واكنش در مقابل فراخواني متد يا تغيير خصيصه‌ها به تغيير، حذف و اضافه در جداول پايگاه داده حساس مي‌باشند [19].

پايگاه داده فعال داراي دو بخش مديريت داده و مديريت قوانين مي‌باشد. بخش مديريت داده مسئول حفظ خواص پايگاه داده نظير سازماندهي، مديريت و پشتيباني داده‌ها مي‌باشد. بخش دوم يا مديريت قوانين مسئول واكنش به رويدادهايي است كه در سيستم اتفاق مي‌افتند.

2-1 مديريت داده
اين بخش مسئول حفظ خواص پايگاه داده مي‌باشد، به طوري كه طراحان مي‌توانند از قابليت‌هاي پايگاه داده فعال همانند يك پايگاه داده معمولي استفاده نمايند. ضمن اينكه مي‌توان خواص پايگاه داده را در يك پايگاه داده فعال به صورت مطلوب‌تري ايجاد نمود.
برقراري قيود جامعيت پشرفته تر در پايگاه داده: اين قيود در يك پايگاه داده معمولي فقط روي يك جدول قابل تعريف مي‌باشند در حالي كه با استفاده از قوانين پايگاه داده فعال، امكان تعريف محدوديت بر روي چندين جدول نيز وجود دارد.
سازگاري بيشتر: سازگاري بين داده‌ها با استفاده از قوانين به صورت گسترده‌تري پشتيباني مي‌شود.

2-2 مديريت قوانين
پايگاه دادة فعال با استفاده از قوانين تعامل را به پايگاه داده مي‌افزايند. اين امر باعث مي‌شود بدون استفاده از كدهاي نرم‌افزارهاي خارجي به رويدادهاي سيستم در درون پايگاه داده پاسخ داده شود، در نتيجه تغيير در ضوابط سيستم كاربردي با كمترين هزينه و با تغيير قوانين به راحتي امكان‌پذير است.
در اين فصل انواع تعريف و پيچيدگي‌هاي رفتاري قوانين در اين نوع سيستم‌ها و مدل‌هاي اجرايي متفاوت (با توجه به تعريف يك قانون) ارائه خواهد شد.
2-2-1 تعريف قانون
در پايگاه داده فعال هر قانون داراي سه بخش رويداد، شرط و واكنش مي‌باشد و قانوني داراي هر سه جزء فوق باشد اصطلاحاً ECA  ناميده مي‌شود.
Rule     Rule_Name
[ON    Event]
[IF    Condition]
THEN    Action
به طور كلي وجود دو جزء رويداد و شرط در تعريف قوانين مي‌تواند اختياري  و يا اجباري  باشد. در برخي نمونه‌هاي پياده‌سازي شده پايگاه داده فعال تنها تعريف يكي از دو جزء اختياري است يعني امكان عدم تعريف رويداد در قانون وجود دارد و حضور شرط اجباري است. در زبان‌هايي كه تعريف هر دو جزء اختياري باشد، تعريف يكي از آن‌ها در هر قانون الزامي است در غير اين صورت تبديل به يك قانون هميشه درست مي‌شود.
در صورت حذف شرط (EA  Rule) با بروز رويداد، واكنش آن اجرا مي‌شود و با حذف رويداد (CA  Rule) در صورت برقراري شرط، واكنش قانون مربوطه به اجرا درمي‌آيد.
در اين قسمت ابتدا به شرح مختصري از هر سه جزء قانون و نكاتي كه در استفاده از ECA بايد رعايت شوند مي‌پردازيم و سپس انواع رفتارهاي مدل اجرايي پايگاه داده فعال بيان مي‌شود.

2-2-1-1 رويداد
رويدادها در نقطه‌اي از زمان اتفاق مي‌افتند و به سه صورت تقسيم‌بندي مي‌شوند. در نوع اول با توجه به منبع به وجود آورندة خود به هفت گروه ساختاري، انتزاعي، تراكنش، كاربر، استثناء، زمان، خارجي تقسيم مي‌شوند.
در نوع دوم با توجه به اينكه از يك رويداد ساده تشكيل شده‌اند يا از تركيب جبري منطقي رويدادهاي ساده به وجود آمده‌اند به دو گروه ساده و مركب تقسيم مي‌شوند.
در نوع سوم با توجه به زمان بروز نمونه‌هاي يك رويداد به سه گروه آغازين، مباني و پاياني تقسيم مي‌شوند كه در ادامه به شرح مختصري از انواع رويدادها در اين سه گروه مي‌پردازيم.
انواع رويدادها با توجه به منبع به وجود آورندة آن‌ها عبارتند از [20][21]:
ساختاري: يك رويداد به دليل انجام عملياتي روي ساختار پايگاه داده فعال مي‌شود (در مدل رابطه‌اي تغيير و حذف و اضافة يك ركورد و در مدل شي‌ءگرا تغيير خصيصه‌ها، فراخواني متد و ارسال پيام).
ON Update emp.id
انتزاعي: رويداد به صورت واضح توسط طراح يا برنامة كاربردي فعال مي‌شود (طراح مي‌تواند گرفتن يك گزارش خاص را يك رويداد معرفي كند كه در صورتي كه يك مجموعة تهي توليد نكند يك رويداد انتزاعي است).
تراكنش: رويدادها، دستورالعمل‌هاي تراكنشي نظير Start و Abort و Commit مي‌باشند.
ON Begin Transaction Emergency
كاربر: رويداد به دليل عملكردها و مكانيزم‌هاي برنامه‌نويسي فعال مي‌شود (دادن پيام مناسب به كاربري كه مشغول وارد كردن داده مي‌باشد).
استثناء: انجام عمليات غيرمجاز در سيستم موجب بروز اين نوع رويداد مي‌شود (دستيابي غيرمجاز كاربران به اطلاعاتي كه مجوز مناسب آن را ندارند).
زمان: اين نوع رويدادها در نقطه‌اي از زمان فعال مي‌شوند (مثلاً اول هر ماه).
خارجي: رويدادهايي كه به دليل وقوع رويدادي در خارج از سيستم بروز مي‌كنند در اين گروه قرار مي‌گيرند (فشردن كليد).

در نوع دوم رويدادها به دو دستة ساده و مركب تقسيم مي‌شوند. رويدادي كه تنها از يك جزء تشكيل شده است ساده و رويدادهايي كه از تركيب جبري و منطقي رويدادهاي ساده به دست مي‌آيند مركب ناميده مي‌شوند.
اين عمليات‌هاي جبري عبارتند از [14]:
And : رخ دادن هر دو رويداد (E1 And E2)
OR : رخ دادن يكي از دو رويداد (E1 Or E2)
Not : عدم رخ دادن رويداد در فاصلة زماني معين.
(E1; not E2;E3) به معني عدم بروز رويداد دوم در فاصلة زماني بين بروز رويداد اول و سوم
SEQ : نشان‌دهندة ترتيب اجراي دو رويداد مي‌باشد.
(Seq (E1,E2) : به اين معنا است كه رخ دادن رويداد دوم بايد پس از رويداد اول انجام يافته باشد از نماد ":" نيز استفاده مي‌شود.
Times : بيانگر نمونة معين يك رويداد مي‌باشد
Times (n.E) يعني نمونة nام رويداد E
رويدادها در پايگاه دادة فعال ممكن است به دفعات رخ دهند. به رويدادهايي كه اتفاق افتاده‌اند و از يك نوع مي‌باشند، نمونه‌هاي يك رويداد گفته مي‌شود.
در نوع سوم تقسيم‌بندي، بسته به زمان رخ دادن يك نمونه از رويداد، نمونه‌ها به سه نوع آغازين ، مياني  و پاياني  تقسيم مي‌شوند.
نمونه‌اي از يك رويداد كه داراي كمترين مرتبة زماني در بين نمونه‌هاي همان رويداد باشد نمونة آغازين و نمونه‌اي كه داراي بيشترين مرتبة زماني باشد نمونة نهايي رويداد ناميده مي‌شود به ساير نمونه‌ها، نمونه‌هاي مياني گفته مي‌شود [20].
در مثال زير E1(1) يك نمونة آغازين و E1(4) يك نمونة پاياني رويداد E1 مي‌باشند.
E1(1); E1(2); E1(3); E1(4)
امكان وقوع همزمان نمونه‌هاي يك رويداد موجب ايجاد ناسازگاري در تعيين نوع نمونه‌ها مي‌شود. بحث همزماني رويدادها در يك سيستم متمركز تنها در دو صورت امكان‌پذير است.
يكي از رويدادها زماني و ديگري غيرزماني باشد.
يك رويداد ساده با حداقل يك رويداد مركب مي‌توانند همزمان رخ دهند.
لازم به ذكر است دو رويداد ساختاري همزمان اتفاق نمي‌افتند به عبارت ديگر رخ دادن رويداد اضافه همزمان با رويداد حذف امكانپذير نيست [22].
Exclusive و Shared :  علاوه بر مرتبة رخ دادن نمونه‌ها ترتيب رخ دادن نمونه‌هاي يك نوع رويداد و نمونه‌هاي رويدادهاي ديگر نيز قابل توجه است كه آغازين و نهايي شدن نمونه‌ها را تحت تأثير قرار مي‌دهد. مثلاً در توالي دو رويداد، انتخاب نمونة نهايي رويداد اول، مي‌تواند نمونه رويداداول ديگري باشد كه قبل از كلية نمونه‌هاي رويداد دوم اتفاق افتاده است: Exclusive و يا نمونه رويداد اولي باشد كه به عنوان آخرين نمونة رويداد اول اتفاق افتاده است حتي اگر بن آن رويداد اول آخر و رويداد اول آغازين رويدادهاي دوم و سوم ديگري اتفاق افتاده باشد: Shared [20].
E1(1); E1(2); E2(1); E1(3)
E1(2)     Last Exclusive
E(3)     Last Shared
2-2-1-2 شرط
بخش دوم قانون شرط مي‌باشد. پس از بروز يك رويداد نوبت به بررسي شرط قوانين رويداد مربوطه مي‌رسد و در صورت صحت شرط، قانون مربوط در صف اجرا قرار مي‌گيرد.
در قسمت شرط، يك مقايسه و يا يك پرس و جو  مي‌تواند قرار بگيرد، در صورتي كه نتيجة پرس و جو تهي نباشد، شرط برقرار است.
انتخاب زمان بررسي شرط يك قانون پس از بروز رويداد آن از سياست‌هايي است كه توسط سيستم تعيين مي‌شود. اين زمان مي‌تواند فوري ، تأخيري  و يا مجزا  باشد. برخي سيستم‌ها تنها يك سياست را پشتيباني مي‌كنند (نظير NAOS) و برخي نيز همة سياست‌ها را پشتيباني مي‌كنند (Hipac). در چنين سيستم‌هايي در هر قانون سياست مورد نظر طراح تعريف مي‌شود و در صورت عدم تعريف، يك سياست به عنوان پيش‌فرض براي همة قوانين در نظر گرفته مي‌شود.
در تعيين شرط هر قانون، طراح بايد بتواند براي ارزيابي شرط از مقادير قبل و يا بعد از رويداد استفاده نمايد. نام تراكنشي كه رويداد در آن اتفاق افتاده است و يا نام كاربري كه باعث بروز رويداد شده نيز ممكن است در قسمت شرط استفاده شود. اين مقادير به همراه رويداد ارسال مي‌شود و پارامترهاي رويداد ناميده مي‌شود [23].



انجام پایان نامه

 

پایان نامه

برای دیدن ادامه مطلب از لینک زیر استفاده نمایید

سفارش پایان نامه

نقشه