دانلود مقاله تریگر های فازی در پایگاه داده فعال
چکیده
پایگاههای داده فعال با هدف ایجاد تعامل در پایگاههای داده ایجاد شدند. در این نوع پایگاه داده با تعریف قوانین و بدون نیاز به کدنویسی، سیستم قادر به عکسالعمل مناسب در مقابل رویدادهای مهم در شرایط خاص میباشد. تعریف قوانین سادهترین نوع بیان محدودیتها بوده که برای متخصص های محیط نیز قابل درک میباشد. اما در بیان تجربیات اغلب از کلمات فازی استفاده میشود که ترجمه آنها به مقادیر دقیق منجر به کاهش ارزش معنایی دانش میشود. فازیسازی پایگاههای داده فعال با هدف نزدیکتر نمودن زبان بیان قوانین به زبان طبیعی انسان مطرح شد. این امر کمک میکند دانش متخصصین، مستقیماً به پایگاه داده منتقل شود. ضمن اینکه تغییرات نیز با کمترین هزینه، بر قوانین تعریف شده اعمال میشود.
اولین گروه فازیسازی گرداننده پایگاههای داده فعال ولسکی و بوعزیز و همکارانشان بودند که به فازی نمودن رویداد، شرط و واکنش در تعریف قوانین پرداختهاند و طی چند مقاله نتایج آن را ارائه نمودند[۲, ۳, ۵, ۷, ۸, ۹, ۱۰]، این گروه در مقاله Tempo به پیادهسازی فازی این سه بخش پرداختهاند.
گروه دومی که در این زمینه فعالیت نموده است گروه آقایان یوسل سایجین و اوزگور اولوسوی میجباشد که در دو مقاله به جنبه کاربرد تریگرهای فازی در پایگاه داده های فعال سیار پرداخته اند[۴, ۶].
فازی نمودن پایگاههای داده فعال با هدف کاربردیتر نمودن پایگاههای داده مطرح شد. این پایاننامه ضمن اصلاح تریگر های فازی معرفی شده توسط گروه اول با ایجاد تغییراتی در آنها از تریگر های فازی جهت عمل رونوشت برداری فازی استفاده می کند.
در ادامه این پایاننامه یک معماری ساده از موتور رونوشت برداری فازی در پایگاه داده فعال ارائه میشود و در پایان با یک نمونه پیادهسازی شده از موتور رونوشت برداری فازی موارد پیشنهادی ارزیابی میگردد.
کلیدواژه ها: پایگاه داده فعال، تریگرهای فازی، رونوشت برداری فازی، کمیت سنج های فازی، همگام سازی، دوره پوشش برنامه، دوره پوشش رونوشت برداری، دوره پوشش فازی.
مقدمه
با ایجاد سیستمهای مدیریت پایگاه داده عمده مشکلات ساختار، پشتیبانی و مدیریت دادههای حجیم در سیستمهای فایلی برطرف شد اما توجهی به جنبههای رفتاری پایگاه داده نشد. به این معنا که با استفاده از قیود جامعیت شاید بتوان از منفی شدن مبلغ حقوق کارمندان جلوگیری نمود اما نمیتوان مانع از بیشتر شدن حقوق آنها از مدیرانشان شد. در چنین مواردی کاربران پایگاه داده با اجرای یک پرس و جو موارد نقض محدودیتهایی از این قبیل را پیدا نموده و خود اقدام به اصلاح آنها مینمایند.
مواردی این چنین و نیز گزارشات مدیریتی در آغاز ماه از جمله کارهای مشخص و دارای ضابطهای میباشند که انجام آنها تکراری و قابل تفویض به سیستم است.
کاربران غیرمجاز با استفاده از یک سری گزارشات، غیرمستقیم به اطلاعات کلیدی دست یافته و اقدام به تغییر آنها مینمایند. پیدا نمودن چنین تغییراتی که معمولاً بعد از گزارشات اتفاق میافتند، به راحتی امکانپذیر نیست. همانطور که مشاهده میشود در یک پایگاه داده معمولی ردیابی رویدادهایی که در سیستم اتفاق افتادهاند (رخدادها) نیز ممکن نبوده و نیاز به یک سیستم با پشتیبانی جنبههای رفتاری میباشد.
یک پایگاه داده فعال نظیر Oracle قادر به تشخیص رویدادهای نظیر اضافه، حذف و تغییر مقادیر در پایگاه داده میباشند. به عبارت دیگر این سیستمها با ایجاد تغییر در یک قلم داده عکسالعمل نشان میدهند.
پایگاه داده فعال با افزودن قوانین به پایگاههای داده امکان تعامل (کنش و واکنش) بین سیستم و پایگاه داده را ایجاد نمود. این نوع پایگاه داده دارای دو بخش مدیریت داده و مدیریت قوانین میباشد. بخش مدیریت داده مسئول حفظ خواص پایگاه داده در سیستمهای کاربردی بوده و بخش دوم با مدیریت قوانین مسئول واکنش به رویدادهای سیستم میباشد. در این نوع پایگاه داده طراحان سیستم قادرند با تعریف قوانین که نزدیکترین بیان به زبان طبیعی میباشد، سیستم را وادار به عکسالعمل مناسب در مقابل رویدادهای مهم نمایند [۱۳].
پایگاه داده فعال با استفاده از قوانین قادر به «پشتیبانی گستردهتر قیود جامعیت و سازگاری دادهها، واکنش در مقابل رخدادهای سیستم کاربردی، عدم اجرای تقاضاهای مشکوک، ردیابی رویدادها، گزارشات ماهانه و…» میباشد.
همانطور که گفته شد آنچه که به طور معمول باعث میشود یک پایگاه داده را فعال بدانیم، عکسالعمل سیستم در مقابل وضعیتهایی است که در پایگاه داده و یا حتی خارج از آن به وجود میآید. این وضعیتها میتواند شامل یک حذف غیرمجاز و یا تغییر وضعیت پایگاه داده باشد. باید توجه داشت که داشتن تعامل برای یک پایگاه داده لازم اما کافی نیست. بسیاری از سیستمهای پایگاه داده بدون رعایت اصول پایهای که در زیر به آن اشاره میشود به طور عام پایگاه داده فعال نامیده شوند [۱۴].
اینگونه سیستمها باید یک پایگاه داده باشند، یعنی در صورتی که کاربر فراموش کرد، سیستم مورد نظر پایگاه داده فعال است بتواند از آن به عنوان یک پایگاه داده معمولی استفاده نماید (در صورت لزوم بتوان به عنوان یک پایگاه داده معمولی از آن استفاده نمود).
در اینگونه سیستمها باید امکان تعریف و مدیریت قوانین وجود داشته باشد. این قوانین در پایگاه داده فعال دارای سه جزء رویداد ، شرط و واکنش میباشند.
این سیستمها باید دارای یک مدل اجرایی باشند. به این ترتیب که با بروز رویداد و صحت شرط، واکنش قانون اجرا شود. یک پایگاه داده فعال باید قادر به آشکارسازی رویدادها و بررسی شرط قوانین فعال و اجرای فرامین واکنش باشد.
علاوه بر موارد فوق، بهتر است در این سیستمها محیط مناسبی برای تعریف و امکان کامپایل کردن قوانین فراهم شود که به کاربر در تعریف قوانین کمک کند.
فازیسازی پایگاههای داده فعال با هدف نزدیکتر نمودن زبان بیان قوانین به زبان طبیعی طراحان مطرح شد. اغلب تقاضاهای کاربران پایگاه داده فعال، فازی میباشد. به عنوان نمونه در تقاضاهایی نظیر عدم تعلق پاداش به کارمندان «کمکار»، «افزایش» فشارخون، محاسبه حقوق کارمندان در «پایان» هر ماه و… از کلمات فازی استفاده شده است که عدم پشتیبانی مفاهیم فازی و به کار بردن مقادیر دقیق منجر به حصول نتایج نامطلوب در برخی سیستمهای کاربردی میشود.
تفاوت اصلی در فازیسازی پایگاه داده فعال با سایر سیستمهای فازی، در نوع تعریف قوانین میباشد. به این ترتیب که در تعریف قوانین در اینجا از سه جزء اصلی رویداد، شرط و واکنش استفاده میشود در صورتی که سیستمهای مبتنی بر قانون عموماً از دو جزء شرط و واکنش تشکیل شدهاند اما فازی نمودن شرط و واکنش قوانین در پایگاههای داده فعال تفاوت چندانی با شرط و واکنش فازی در سیستمهای مبتنی بر قانون ندارد و در فازی نمودن رویداد نیز میتوان از همان سیاق رویدادهای فازی استفاده نمود این بحث توسط ولسکی و بوازیز در [۷] مطرح شده است.
در این پایاننامه سعی شده است بحثهای مطرح شده در پایگاههای داده فعال فازی، با یک نمونه پیادهسازی شده بطور خلاصه بررسی شود. همچنین در ادامه با معرفی عمل رونوشت برداری و بکار گیری قوانین فازی(تریگرهای فازی) در عمل رونوشت برداری روش بهبود یافته جدیدی معرفی شود..
۱-۲ مروری بر فصول پایاننامه
در ادامه این پایان نامه در فصل دوم مفاهیم پایگاه داده فعال ارائه شده است. همچنین مدل اجرایی، نمونههایی از این نوع پایگاه داده و برخی کاربردهای پایگاه داده فعال در ادامه این فصل آمده است.
در فصل سوم مختصری از مفاهیم فازی ارائه شده است.
فصل چهارم شامل چگونگی پشتیبانی مفاهیم فازی در بخشهای مختلف یک پایگاه داده فعال میباشد.
فصل پنجم به بیان طرح استفاده از تریگرهای فازی در پایگاه داده فعال جهت ارائه روش جدید رونوشت برداری فازی میپردازد و مزایا استفاده از روش رونوشت برداری فازی نسبت به روشهای مرسوم قدیمی با یک نمونه پیادهسازی شده و مقایسه آن با نمونه غیرفازی ارائه شده است.
فصل ششم به بیان چگونگی پیاده سازی تریگرهای فازی در پایگاه داده فعال غیر فازی و نیز پیاده سازی رونوشت برداری فازی بوسیله آن می پردازد.
فصل دوم: پایگاه داده فعال
پایگاه داده فعال با هدف افزودن تعامل به پایگاه داده و با استفاده از تعریف قوانین ایجاد شد. اولین پایگاه داده فعال، توسط Dayal و همکارانش در یک مقاله دانشگاهی به نام [۱۵]Hipac مطرح شد. پایگاه داده این نرمافزار همانند [۱۶]Samos شیءگرا میباشد. علاوه بر پایگاههای داده فعال شیءگرا سیستمهایی با پایگاه دادهی فعال رابطهای نیز ایجاد شدهاند که از جمله آنها میتوان [۱۷]Starburst و [۱۸]Arial را نام برد، این نوع پایگاههای داده به جای واکنش در مقابل فراخوانی متد یا تغییر خصیصهها به تغییر، حذف و اضافه در جداول پایگاه داده حساس میباشند [۱۹].
پایگاه داده فعال دارای دو بخش مدیریت داده و مدیریت قوانین میباشد. بخش مدیریت داده مسئول حفظ خواص پایگاه داده نظیر سازماندهی، مدیریت و پشتیبانی دادهها میباشد. بخش دوم یا مدیریت قوانین مسئول واکنش به رویدادهایی است که در سیستم اتفاق میافتند.
۲-۱ مدیریت داده
این بخش مسئول حفظ خواص پایگاه داده میباشد، به طوری که طراحان میتوانند از قابلیتهای پایگاه داده فعال همانند یک پایگاه داده معمولی استفاده نمایند. ضمن اینکه میتوان خواص پایگاه داده را در یک پایگاه داده فعال به صورت مطلوبتری ایجاد نمود.
برقراری قیود جامعیت پشرفته تر در پایگاه داده: این قیود در یک پایگاه داده معمولی فقط روی یک جدول قابل تعریف میباشند در حالی که با استفاده از قوانین پایگاه داده فعال، امکان تعریف محدودیت بر روی چندین جدول نیز وجود دارد.
سازگاری بیشتر: سازگاری بین دادهها با استفاده از قوانین به صورت گستردهتری پشتیبانی میشود.
۲-۲ مدیریت قوانین
پایگاه داده فعال با استفاده از قوانین تعامل را به پایگاه داده میافزایند. این امر باعث میشود بدون استفاده از کدهای نرمافزارهای خارجی به رویدادهای سیستم در درون پایگاه داده پاسخ داده شود، در نتیجه تغییر در ضوابط سیستم کاربردی با کمترین هزینه و با تغییر قوانین به راحتی امکانپذیر است.
در این فصل انواع تعریف و پیچیدگیهای رفتاری قوانین در این نوع سیستمها و مدلهای اجرایی متفاوت (با توجه به تعریف یک قانون) ارائه خواهد شد.
فهرست مطالب
بخش اول: مفاهیم و تعاریف، کارهای انجام شده ۱
فصل اول: کلیات ۲
۱-۱ مقدمه ۲
۱-۲ مروری بر فصول پایاننامه ۵
فصل دوم: پایگاه داده فعال ۶
۲-۱ مدیریت داده ۶
۲-۲ مدیریت قوانین ۷
۲-۲-۱ تعریف قانون ۷
۲-۲-۱-۱ رویداد ۸
۲-۲-۱-۲ شرط ۱۲
۲-۲-۱-۳ واکنش ۱۳
۲-۲-۲ مدل اجرایی ۱۴
۲-۲-۲-۱ اولویت اجرایی در قوانین ۱۶
۲-۲-۲-۲ معماری پایگاه داده فعال ۱۷
۲-۲-۲-۳ آشکارساز رویداد ۱۸
۲-۲-۲-۴ ارزیابی شرط ۱۹
۲-۲-۲-۵ زمانبندی ۲۰
۲-۲-۲-۶ اجرا ۲۱
۲-۳ نمونههای پیادهسازی شده ۲۱
۲-۳-۱ Starburst 21
۲-۳-۲ Ariel 23
۲-۳-۳ NAOS 24
۲-۴ نتیجه ۲۵
فصل سوم: مفاهیم فازی ۲۶
۳-۱ مجموعههای فازی ۲۷
۳-۲ عملگرهای فازی ۲۹
۳-۳ استنتاج فازی ۳۰
۳-۴ ابهامزدایی ۳۱
۳-۵ نتیجه ۳۱
فصل چهارم : پایگاه داده فعال فازی ۳۲
۴-۱ تعریف فازی قوانین ۳۳
۴-۱-۱ رویداد فازی ۳۴
۴-۱-۱-۱ رویدادهای مرکب ۳۶
۴-۱-۱-۲ انتخاب فازی اجزاء رویدادهای مرکب ۳۸
۴-۱-۲ شرط فازی ۳۸
۴-۱-۳ واکنش فازی ۴۰
۴-۱-۴ تعیین فازی موقعیت زمانبندی ۴۱
۴-۲ معماری و مدل اجرایی قوانین ۴۳
۴-۲-۱ آشکارساز رویداد ۴۴
۴-۲-۲ بررسی شرط ۴۵
۴-۲-۳ اجرا ۴۵
۴-۲-۴ زمانبندی ۴۵
۴-۳ نتیجه ۴۷
بخش دوم: کاربردی جدید از تریگر فازی، رونوست برداری فازی، نتایج آزمایشات ۴۸
فصل پنجم: رونوشت برداری فازی ۴۹
۵-۱ رونوشت برداری ۵۰
۵-۱-۱ رونوشت برداری همگام ۵۰
۵-۱-۲ رونوشت برداری ناهمگام ۵۱
۵-۱-۳ ماشین پایه رونوشت برداری داده ۵۲
۵-۱-۴ مقایسه دو روش همگام و ناهمگام ۵۳
۵-۲ رونوشت برداری فازی ۵۶
۵-۲-۱ استفاده از تریگرها برای فازی نمودن رونوشت برداری ۵۷
۵-۳ کمیت سنج های فازی ۵۹
۵-۳-۱ روش محاسبه کمیت سنج های فازی ۶۰
۵-۳-۲ کمیت سنج عمومی ۶۱
۵-۳-۳ کمیت سنج جزئی ۶۴
۵-۳-۴ کمیت سنج جزئی توسعه یافته ۶۷
۵-۴ روش جدید محاسبه حد آستانه در تریگرهای فازی برای رونوشت برداری فازی ۶۹
۵-۵ معماری ماشین رونوشت بردار فازی ۷۱
۵-۶ مثال ۷۳
۵-۷ کارایی ۷۷
۵-۷-۱ ترافیک در رونوشت برداری مشتاق ۷۹
۵-۷-۲ ترافیک در رونوشت برداری تنبل ۸۰
۵-۷-۳ ترافیک در رونوشت برداری فازی ۸۰
۵-۷-۴ مقایسه تئوری هزینه رونوشت برداری فازی و تنبل ۸۱
۵-۸ جمع بندی ۸۳
فصل ششم: پیاده سازی ۸۴
۶-۱ Fuzzy SQL Server 84
۶-۲ عملکرد اجزای Fuzzy SQL Server 85
۶-۳ شبیه سازی تریگرهای فازی در پایگاه داده غیر فازی ۸۶
۶-۴ اجزاء تریگر فازی در پایگاه داده غیر فازی ۸۶
۶-۵ جداول سیستمی مورد نیاز ۸۷
۶-۶ مثال ۸۹
۶-۷ کارهای آتی ۹۴
مراجع و منابع ۹۵
فرمت فایل: WORD
تعداد صفحات:
مطالب مرتبط