اختصاصی از
فایل هلپ دانلود مقاله پایگاه داده فعال دانلود با لینک مستقیم و پر سرعت .
چکیده
پایگاههای دادة فعال با هدف ایجاد تعامل در پایگاههای داده ایجاد شدند. در این نوع پایگاه داده با تعریف قوانین و بدون نیاز به کدنویسی، سیستم قادر به عکسالعمل مناسب در مقابل رویدادهای مهم در شرایط خاص میباشد. تعریف قوانین سادهترین نوع بیان محدودیتها بوده که برای متخصصین محیط نیز قابل درک میباشد. اما در بیان تجربیات اغلب از کلمات فازی استفاده میشود که ترجمه آنها به مقادیر دقیق منجر به کاهش ارزش معنایی دانش میشود. فازیسازی پایگاههای داده فعال با هدف نزدیکتر نمودن زبان بیان قوانین به زبان طبیعی انسان مطرح شد. این امر کمک میکند دانش متخصصین، مستقیماً به پایگاه داده منتقل شود. ضمن اینکه تغییرات نیز با کمترین هزینه، بر قوانین تعریف شده اعمال میشود.
در اولین گام از فازیسازی پایگاههای دادة فعال ولسکی و بوازیز به فازی نمودن رویداد، شرط و واکنش در تعریف قوانین پرداختهاند و طی سه مقاله نتایج آن را ارائه نمودند، آنها در پروژه 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
رویدادها در پایگاه دادة فعال ممکن است به دفعات رخ دهند. به رویدادهایی که اتفاق افتادهاند و از یک نوع میباشند، نمونههای یک رویداد گفته میشود.
فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد
تعداد صفحات این مقاله 56 صفحه
پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید
دانلود با لینک مستقیم
دانلود مقاله پایگاه داده فعال