nx دارای 56 صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است
فایل ورد nx کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه و مراکز دولتی می باشد.
این پروژه توسط مرکز nx2 آماده و تنظیم شده است
توجه : در صورت مشاهده بهم ريختگي احتمالي در متون زير ،دليل ان کپي کردن اين مطالب از داخل فایل ورد مي باشد و در فايل اصلي nx،به هيچ وجه بهم ريختگي وجود ندارد
بخشی از متن nx :
پایگاه داده فعال
چكیدهپایگاههای داده فعال با هدف ایجاد تعامل در پایگاههای داده ایجاد شدند. در این نوع پایگاه داده با تعریف قوانین و بدون نیاز به كدنویسی، سیستم قادر به عكسالعمل مناسب در مقابل رویدادهای مهم در شرایط خاص میباشد. تعریف قوانین سادهترین نوع بیان محدودیتها بوده كه برای متخصصین محیط نیز قابل درك میباشد. اما در بیان تجربیات اغلب از كلمات فازی استفاده میشود كه ترجمه آنها به مقادیر دقیق منجر به كاهش ارزش معنایی دانش میشود. فازیسازی پایگاههای داده فعال با هدف نزدیكتر نمودن زبان بیان قوانین به زبان طبیعی انسان مطرح شد. این امر كمك میكند دانش متخصصین، مستقیماً به پایگاه داده منتقل شود. ضمن اینكه تغییرات نیز با كمترین هزینه، بر قوانین تعریف شده اعمال میشود.
در اولین گام از فازیسازی پایگاههای داده فعال ولسكی و بوازیز به فازی نمودن رویداد، شرط و واكنش در تعریف قوانین پرداختهاند و طی سه مقاله نتایج آن را ارائه نمودند، آنها در پروژه Tempo به پیادهسازی فازی این سه بخش پرداختهاند.
این پایاننامه به فازی نمودن سایر بخشهای پایگاههای داده فعال میپردازد. این بخشها شامل رویدادهای مركب، انتخاب فازی اجزاء رویدادهای مركب، انتخاب فازی زمان بررسی شرط و اجرای واكنش قوانین میباشد. همچنین راهحلهایی برای دو مشكل پایانناپذیری اجرای قوانین و یكتایی پاسخ در پایگاههای داده فعال فازی ارائه شده است.
فازی نمودن پایگاههای داده فعال با هدف كاربردیتر نمودن پایگاههای داده مطرح شد. مدل اجرایی پایگاههای داده فعال در بسیاری موارد نظیر زمان بررسی شرط و یا تعیین اولویت قوانین از پیش فرض سیستم استفاده مینماید. فازی نمودن این نوع پایگاه داده كمك میكند تا سیستم سیاستهای اجرایی پایگاه داده را در زمان اجرا و با استفاده از شدت وقوع رویدادها (به صورت معنایی و پویا) تعیین نماید.
در ادامه این پایاننامه یك معماری ساده از پایگاه داده فعال ارائه میشود و در پایان با یك نمونه پیادهسازی شده از پایگاه داده فعال فازی موارد پیشنهادی ارزیابی میگردد.
كلیدواژه: پایگاه داده فعال، مفاهیم فازی، عدم قطعیت، سیستمهای محرك.
فصل اول: كلیات 1-1 مقدمه
با ایجاد سیستمهای مدیریت پایگاه داده عمده مشكلات ساختار، پشتیبانی و مدیریت دادههای حجیم در سیستمهای فایلی برطرف شد اما توجهی به جنبههای رفتاری پایگاه داده نشد. به این معنا كه با استفاده از قیود جامعیت شاید بتوان از منفی شدن مبلغ حقوق كارمندان جلوگیری نمود اما نمیتوان مانع از بیشتر شدن حقوق آنها از مدیرانشان شد. در چنین مواردی كاربران پایگاه داده با اجرای یك پرس و جو موارد نقض محدودیتهایی از این قبیل را پیدا نموده و خود اقدام به اصلاح آنها مینمایند.
مواردی این چنین و نیز گزارشات مدیریتی در آغاز ماه از جمله كارهای مشخص و دارای ضابطهای میباشند كه انجام آنها تكراری و قابل تفویض به سیستم است. كاربران غیرمجاز با استفاده از یك سر گزارش، غیرمستقیم به اطلاعات كلیدی دست یافته و اقدام به تغییر آنها مینمایند. پیدا نمودن چنین تغییراتی كه معمولاً بعد از گزارشات اتفاق میافتند، به راحتی امكانپذیر نیست. همانطور كه مشاهده میشود در یك پایگاه داده معمولی ردیابی رویدادهایی كه در سیستم اتفاق افتادهاند (رخدادها) نیز ممكن نبوده و نیاز به یك سیستم با پشتیبانی جنبههای رفتاری میباشد.
در گام اول برای فراهم كردن امكان تعامل پایگاه داده با كاربر سیستمهای محرك نظیر Oracle به وجود آمدند. اما این نوع سیستمها تنها قادر به تشخیص رویدادهای ساختاری نظیر اضافه، حذف و تغییر مقادیر در پایگاه داده میباشند. به عبارت دیگر این سیستمها با ایجاد تغییر در یك قلم داده عكسالعمل نشان میدهند و این برای كاربران پایگاه داده كافی نیست. برای این كاربران ممكن است رویدادهایی نظیر نخواندن حسابها در آغاز ماه و یا یك رویداد خارجی نظیر فشردن یك كلید نیز مهم باشد كه در این موارد سیستمهای محرك، پاسخگو نیستند [2].
درگام بعد پایگاه داده فعال با افزودن قوانین به پایگاههای داده امكان تعامل (كنش و واكنش) بین سیستم و پایگاه داده را ایجاد نمود. این نوع پایگاه داده دارای دو بخش مدیریت داده و مدیریت قوانین میباشد. بخش مدیریت داده مسئول حفظ خواص پایگاه داده در سیستمهای كاربردی بوده و بخش دوم با مدیریت قوانین مسئول واكنش به رویدادهای سیستم میباشد. در این نوع پایگاه داده طراحان سیستم قادرند با تعریف قوانین كه نزدیكترین بیان به زبان طبیعی میباشد، سیستم را وادار به عكسالعمل مناسب در مقابل رویدادهای مهم نمایند [21].
پایگاه داده فعال با استفاده از قوانین قادر به «پشتیبانی گستردهتر قیود جامعیت و سازگاری دادهها، واكنش در مقابل رخدادهای سیستم كاربردی، عدم اجرای تقاضاهای مشكوك، ردیابی رویدادها، گزارشات ماهانه و;» میباشد.
همانطور كه گفته شد آنچه كه به طور معمول باعث میشود یك پایگاه داده را فعال بدانیم، عكسالعمل سیستم در مقابل وضعیتهایی است كه در پایگاه داده و یا حتی خارج از آن به وجود میآید. این وضعیتها میتواند شامل یك حذف غیرمجاز و یا بالا رفتن فشار محیط باشد. باید توجه داشت كه داشتن تعامل برای یك پایگاه داده لازم اما كافی نیست. بسیاری سیستمهای پایگاه داده بدون رعایت اصول پایهای كه در زیر به آن اشاره میشود به طور عام پایگاه داده فعال نامیده شوند [3].
اینگونه سیستمها باید یك پایگاه داده باشند، یعنی در صورتی كه كاربر فراموش كرد، سیستم مورد نظر پایگاه داده فعال است بتواند از آن به عنوان یك پایگاه داده معمولی استفاده نماید (در صورت لزوم بتوان به عنوان یك پایگاه داده معمولی از آن استفاده نمود).
در اینگونه سیستمها باید امكان تعریف و مدیریت قوانین وجود داشته باشد. این قوانین در پایگاه داده فعال دارای سه جزء رویداد ، شرط و واكنش میباشند. این سیستمها باید دارای یك مدل اجرایی باشند. به این ترتیب كه با بروز رویداد و صحت شرط، واكنش قانون اجرا شود. یك پایگاه داده فعال باید قادر به آشكارسازی رویدادها و بررسی شرط قوانین فعال و اجرای فرامین واكنش باشد.
علاوه بر موارد فوق، بهتر است در این سیستمها محیط مناسبی برای تعریف و امكان كامپایل كردن قوانین فراهم شود كه به كاربر در تعریف قوانین كمك كند. فازیسازی پایگاههای داده فعال با هدف نزدیكتر نمودن زبان بیان قوانین به زبان طبیعی طراحان مطرح شد. اغلب تقاضاهای كاربران پایگاه داده فعال، فازی میباشد. به عنوان نمونه در تقاضاهایی نظیر عدم تعلق پاداش به كارمندان «كمكار»، «افزایش» فشارخون، محاسبه حقوق كارمندان در «پایان» هر ماه و; از كلمات فازی استفاده شده است كه عدم پشتیبانی مفاهیم فازی و به كار بردن مقادیر دقیق منجر به حصول نتایج نامطلوب در برخی سیستمهای كاربردی میشود.
تفاوت اصلی در فازیسازی پایگاه داده فعال با سایر سیستمهای فازی، در نوع تعریف قوانین میباشد. به این ترتیب كه در تعریف قوانین در اینجا از سه جزء اصلی رویداد، شرط و واكنش استفاده میشود در صورتی كه سیستمهای مبتنی بر قانون عموماً از دو جزء شرط و واكنش تشكیل شدهاند اما فازی نمودن شرط و واكنش قوانین در پایگاههای داده فعال تفاوت چندانی با شرط و واكنش فازی در سیستمهای مبتنی بر قانون ندارد و در فازی نمودن رویداد نیز میتوان از همان سیاق رویدادهای فازی استفاده نمود این بحث توسط ولسكی و بوازیز در [12] مطرح شده است.
در این پایاننامه سعی شده است بحثهای مطرح شده در پایگاههای داده فعال فازی، با یك نمونه پیادهسازی شده بررسی شود. همچنین سایر موارد قابل فازیسازی در یك پایگاه داده فعال بررسی شده است كه از آن جمله میتوان به فازیسازی وضعیتهای زمانبندی و اولویتدهی فازی رویدادها اشاره نمود. 1-2 مروری بر فصول پایاننامه
در ادامه این پایاننامه در فصل دوم مفاهیم پایگاه داده فعال ارائه شده است. همچنین مدل اجرایی، نمونههایی از این نوع پایگاه داده و برخی كاربردهای پایگاه داده فعال در ادامه این فصل آمده است.
در فصل سوم مختصری از مفاهیم فازی ارائه شده است.
فصل چهارم شامل چگونگی پشتیبانی مفاهیم فازی در بخشهای مختلف یك پایگاه داده فعال میباشد. فصل پنجم به ارزیابی پایگاه داده فعال فازی میپردازد و مزایا و معایب استفاده از پایگاههای داده فعال فازی نسبت به پایگاههای داده فعال با یك نمونه پیادهسازی شده و مقایسه آن با نمونه غیرفازی ارائه شده است.
در فصل ششم نتیجه فازی نمودن پایگاه داده فعال و مشكلاتی كه حل شده است و آنچه باقی مانده ذكر شده است.
فصل دوم: پایگاه داده فعالپایگاه داده فعال با هدف افزودن تعامل به پایگاه داده و با استفاده از تعریف قوانین ایجاد شد. اولین پایگاه داده فعال، توسط Dayal و همكارانش در یك پروژه دانشگاهی به نام [4]Hipac مطرح شد. پایگاه داده این نرمافزار همانند [7]Reach، [8]Samos، [9]Exact، [10]Chimera شیءگرا میباشد. علاوه بر پایگاههای داده فعال شیءگرا سیستمهایی با پایگاه دادهی فعال رابطهای نیز ایجاد شدهاند كه از جمله آنها میتوان [5]Starburst و [6]Arial را نام برد، این نوع پایگاههای داده به جای واكنش در مقابل فراخوانی متد یا تغییر خصیصهها به تغییر، حذف و اضافه در جداول پایگاه داده حساس میباشند [11]. از اواخر دهه هشتاد مبحث بانك اطلاعاتی مورد توجه قرار گرفت كه ظهور محصولات تجاری نظیر [34]Versant و [34]Interbase موید این مطلب است.
این نوع پایگاه داده دارای دو بخش مدیریت داده و مدیریت قوانین میباشد. بخش مدیریت داده مسئول حفظ خواص پایگاه داده نظیر سازماندهی، مدیریت و پشتیبانی دادههای حجیم میباشد. بخش دوم یا مدیریت قوانین مسئول واكنش به رویدادهایی است كه در سیستم اتفاق میافتند. 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 رویداد
رویدادها در نقطهای از زمان اتفاق میافتند و به سه صورت تقسیمبندی میشوند. در نوع اول با توجه به منبع به وجود آورنده خود به هشت گروه ساختاری، انتزاعی، تراكنش، كاربر، استثناء، زمان، خارجی و زیرمجموعه تقسیم میشوند. در نوع دوم با توجه به اینكه از یك رویداد ساده تشكیل شدهاند یا از تركیب جبری منطقی رویدادهای ساده به وجود آمدهاند به دو گروه ساده و مركب تقسیم میشوند.
در نوع سوم با توجه به زمان بروز نمونههای یك رویداد به سه گروه آغازین، مبانی و پایانی تقسیم میشوند كه در ادامه به شرح مختصری از انواع رویدادها در این سه گروه میپردازیم.
انواع رویدادها با توجه به منبع به وجود آورنده آنها عبارتند از [13][14]: ساختاری: یك رویداد به دلیل انجام عملیاتی روی ساختار پایگاه داده فعال میشود (در مدل رابطهای تغییر و حذف و اضافه یك ركورد و در مدل شیءگرا تغییر خصیصهها، فراخوانی متد و ارسال پیام). ON Update emp.id
انتزاعی: رویداد به صورت واضح توسط طراح یا برنامه كاربردی فعال میشود (طراح میتواند گرفتن یك گزارش خاص را یك رویداد معرفی كند كه در صورتی كه یك مجموعه تهی تولید نكند یك رویداد انتزاعی است). تراكنش: رویدادها، دستورالعملهای تراكنشی نظیر Start و Abort و Commit میباشند. ON Begin Transaction Emergency
كاربر: رویداد به دلیل عملكردها و مكانیزمهای برنامهنویسی فعال میشود (دادن پیام مناسب به كاربری كه مشغول وارد كردن داده میباشد). استثناء: انجام عملیات غیرمجاز در سیستم موجب بروز این نوع رویداد میشود (دستیابی غیرمجاز كاربران به اطلاعاتی كه مجوز مناسب آن را ندارند). زمان: این نوع رویدادها در نقطهای از زمان فعال میشوند (مثلاً اول هر ماه).
خارجی: رویدادهایی كه به دلیل وقوع رویدادی در خارج از سیستم بروز میكنند در این گروه قرار میگیرند (فشردن كلید). زیرمجموعه: بیانگر زیرمجموعهای از اطلاعات و یا اعضای خاصی از مجموعه میباشند (همه، به استثنای اهالی تهران و یا همه كسانی كه مجوز حذف داده روی جدول اشخاص را دارند).
در نوع دوم رویدادها به دو دسته ساده و مركب تقسیم میشوند. رویدادی كه تنها از یك جزء تشكیل شده است ساده و رویدادهایی كه از تركیب جبری و منطقی رویدادهای ساده به دست میآیند مركب نامیده میشوند. این عملیاتهای جبری عبارتند از [3]: And : رخ دادن هر دو رویداد (E1 And E2)OR : رخ دادن یكی از دو رویداد (E1 Or E2)Not : عدم رخ دادن رویداد در فاصله زمانی معین.
(E1; not E2;E3) به معنی عدم بروز رویداد دوم در فاصله زمانی بین بروز رویداد اول و سومSEQ : نشاندهنده ترتیب اجرای دو رویداد میباشد. (Seq (E1,E2) : به این معنا است كه رخ دادن رویداد دوم باید پس از رویداد اول انجام یافته باشد از نماد “:” نیز استفاده میشود. Times : بیانگر نمونه معین یك رویداد میباشد
Times (n.E) یعنی نمونه nام رویداد Eرویدادها در پایگاه داده فعال ممكن است به دفعات رخ دهند. به رویدادهایی كه اتفاق افتادهاند و از یك نوع میباشند، نمونههای یك رویداد گفته میشود. در نوع سوم تقسیمبندی، بسته به زمان رخ دادن یك نمونه از رویداد، نمونهها به سه نوع آغازین ، میانی و پایانی تقسیم میشوند. نمونهای از یك رویداد كه دارای كمترین مرتبه زمانی در بین نمونههای همان رویداد باشد نمونه آغازین و نمونهای كه دارای بیشترین مرتبه زمانی باشد نمونه نهایی رویداد نامیده میشود به سایر نمونهها، نمونههای میانی گفته میشود [13].
در مثال زیر E1(1) یك نمونه آغازین و E1(4) یك نمونه پایانی رویداد E1 میباشند. E1(1); E1(2); E1(3); E1(4)
امكان وقوع همزمان نمونههای یك رویداد موجب ایجاد ناسازگاری در تعیین نوع نمونهها میشود. بحث همزمانی رویدادها در یك سیستم متمركز تنها در دو صورت امكانپذیر است. یكی از رویدادها زمانی و دیگری غیرزمانی باشد. یك رویداد ساده با حداقل یك رویداد مركب میتوانند همزمان رخ دهند. لازم به ذكر است دو رویداد ساختاری همزمان اتفاق نمیافتند به عبارت دیگر رخ دادن رویداد اضافه همزمان با رویداد حذف امكانپذیر نیست [15]. علاوه بر مرتبه رخ دادن نمونهها ترتیب رخ دادن نمونههای یك نوع رویداد و نمونههای رویدادهای دیگر نیز قابل توجه است كه آغازین و نهایی شدن نمونهها را تحت تأثیر قرار میدهد. مثلاً در توالی دو رویداد، انتخاب نمونه نهایی رویداد اول، میتواند نمونه رویدادی باشد كه قبل از كلیه نمونههای رویداد دوم اتفاق افتاده است: Exclusive و با نمونه رویدادی باشد كه قبل از آخرین نمونه رویداد دوم اتفاق افتاده است: Shared [13]. E1(1); E1(2); E2(1); E1(3)E1(2) Last ExclusiveE(3) Last Shared2-2-1-2 شرطبخش دوم قانون شرط میباشد. پس از بروز یك رویداد نوبت به بررسی شرط قوانین رویداد مربوطه میرسد و در صورت صحت شرط، قانون مربوط در صف اجرا قرار میگیرد. در قسمت شرط، یك مقایسه و یا یك پرس و جو میتواند قرار بگیرد، در صورتی كه نتیجه پرس و جو تهی نباشد، شرط برقرار است. انتخاب زمان بررسی شرط یك قانون پس از بروز رویداد آن از سیاستهایی است كه توسط سیستم تعیین میشود. این زمان میتواند فوری ، تأخیری و یا مجزا باشد. برخی سیستمها تنها یك سیاست را پشتیبانی میكنند (نظیر NAOS) و برخی نیز همه سیاستها را پشتیبانی میكنند (Hipac). در چنین سیستمهایی در هر قانون سیاست مورد نظر طراح تعریف میشود و در صورت عدم تعریف، یك سیاست به عنوان پیشفرض برای همه قوانین در نظر گرفته میشود.
در تعیین شرط هر قانون، طراح باید بتواند برای ارزیابی شرط از مقادیر قبل و یا بعد از رویداد استفاده نماید. نام تراكنشی كه رویداد در آن اتفاق افتاده است و یا نام كاربری كه باعث بروز رویداد شده نیز ممكن است در قسمت شرط استفاده شود. این مقادیر به همراه رویداد ارسال میشود و پارامترهای رویداد نامیده میشود [16].
2-2-1-3 واكنش واكنش هر قانون كلیه عملیاتی است كه در صورت وقوع رویداد و صحت شرط باید اجرا شود. این عملیات عبارتند از اضافه، حذف و تغییر دادهها در پایگاه داده، تغییر مجموعهای از قوانین، فراخوانی خارجی، ارسال پیام به مسئول و یا كاربران سیستم، انصراف از اتمام كار یك تراكنش و در نهایت به جای فرامین واكنش یك سری فرامین دیگر اجرا شود (به عنوان نمونه به جای انجام عملیات حذف پیامی به مسئول سیستم ارسال شود).
برخی زبانها قادر به تعریف دو نوع متفاوت از اجرای واكنش یك قانون میباشند. در نوع اول، ارزیابی و اجرا قبل از اجرای فرمان رویداد صورت میگیرد به عنوان مثال در SAMOS با استفاده از كلمه كلیدی Before انجام رویداد به بعد از اجرای فرامین واكنش موكول میشود و كلمه كلیدی After به معنای اجرای واكنش پس از اجرای رویداد میباشد [11]. به عنوان مثال با رسیدن فرمان حذف یك ركورد ابتدا یك پشتیبان تهیه و سپس عمل حذف انجام شود.
ادامه خواندن مقاله پايگاه داده فعال
نوشته مقاله پايگاه داده فعال اولین بار در دانلود رایگان پدیدار شد.