چکیده
اغلــب بــرنامههایــی کــه طراحــی آنهــا بــر مــدل شــیگــرا مبتنــی اســت، از دادههــای موجــود در یــک پایگــاه داده ابطــهای اســتفاده مــیکنــند. ازایــنرو، لازم اســت کــه پــرسوجوهــای شــیگــرا بــه معــادل رابطــهای خــود تــرجمه شــوند. بــرای نــیل بــه ایــن هــدف، در ایــن مقالــه، بــه کمــک یــک معمــاری دو مــرحلهای، ابــتدا مدلــی شــیگــرا معــادل بــا پایگــاه داده رابطــهای موجــود ایجــاد مــیشــود. بــهایــن ترتیــب درحالــیکــه داده هــمچــنان در پایگــاه داده رابطــهای باقــی مــانده اســت، کاربــر پــرسوجــوی خــود را بــه زبــان شــیگــرا و بــر روی پایگــاه داده شــیگــرای ایجــاد شــده مــینویســد. در مـرحله بعـد کافـی اسـت پـرسوجـوی کاربـر بـه معـادل رابطـهای آن تـرجمه شـده، بـه پایگـاه داده رابطـهای اولـیه اعمـال گــردد. بــرای تــرجمه پــرسوجــوی شــیگــرا بــه معــادل رابطــهای آن، از مــدل اســتاندارد F_Logic، بــه عــنوان پایــه مفاهیم زبانهای پرسوجوی شیگرا، استفاده شده است.

F_Logic
1 مقدمه

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

• یـک راه، مـدل کـردن پایگـاه داده رابطـه ای در برنامه شی گرا است. یعنی هر کلاس، اعمال مناسبی برای دسترسی به داده های پایگاه داده داشته باشد. این روش منجر به برنامه نویسی نسبتا زیادی میشود. همچنین برنامه به ساختار پایگاه داده بسیار وابسته میگردد و تضمین درستی روش هم بر عهده برنامه نویس خواهد بود .[RB94]

• یـک روش دیگـر، مـدل کـردن بـرنامه کاربـردی شـی گـرا و پرس و جوهای آن در محیط پایگاه داده رابطه ای است. هنگامـی کـه قـرار است اشیا در پایگاه داده رابطه ای ذخیره شوند، باید به نحوی فاصله معنایی بین مدل شی گرا و مدل رابطـه ای را از بیـن بـرد. در ]رحـم[۷۹، بـا درنظرگرفتـن یـک پایـه منطقـی برای مدل شیگرا، بین دو تئوری مذکور ارﺗﺒﺎﻃـﯽ برقـرار شـده اسـت. امـا از آنجایـیکـه بسـیاری از جنـبههـای شیگرایی مانند ارثبری، لفافبندی۱ و چند

ریختی۲ نمیتوانند به طور مستقیم در مدل رابطهای نمایش داده شوند، این روش بسیار پیچیده خواهد ﺷﺪ.

در این مقاله، برای انجام پرس و جوی شی گرا بر روی پایگاه داده رابطه ای، از رویکردی متفاوت استفاده می شود که ایده آن از [KKM93b] گرفـته شـده اسـت. در ایـن روش، مدلـی شـیگرا معادل پایگاه داده رابطهای موجود ایجاد میشود. بهاینترتیب در حالـی کـه داده هـم چـنان در پایگـاه داده رابطه ای باقی مانده است، کاربر پرس و جوی خود را به زبان شی گرا و بر روی پایگاه داده شـی گـرای ایجـاد شـده می نویسد. در مرحله بعد کافی است پرس وجوی کاربر به معادل رابطه ای آن ترجمه شده، به پایگاه داده رابطهای اولیه اعمال گردد.

بـرای تـرجمه پـرس و جـوی شـی گـرا به معادل رابطهای آن، به مدلی استاندارد در هر دو طرف نیاز است. در مدل رابطهای، حساب و جبر رابطه ای به عنوان مبنای ریاضی مدل پذیرفته شده است اما یک حساب و جبر رسمی و استاندارد برای مدل سازی داده و پـرس و جوهـا در مـدل شـی گرایـی وجود ندارد .[STA98] در این مقاله، از مدل استاندارد F_Logic برای این منظور استفاده

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

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

نتـیجه گـیری از مباحث مطرح شده به همراه نگاهی به زمینه های کاری مربوط به این مقاله در آینده، در بخش پنجم آورده شده است.

۱ Encapsulation

۲ Polymorphism

۲ انتخاب مدل F_Logic

در [SO90]، حرکتـی اساسـی در جهت رسمی کردن مفاهیم مدل شیگرایی، پرسوجوهای آن و سایر مسائل مرتبط مانند امـن بـودن پـرس و جوهـا۳ و بهیـنه سـازی آن هـا انجـام شـده است. در همین راستا یک حساب و جبر رسمی برای پرسوجوهای شـی گـرا بـه همـراه تـرجمه ای از حسـاب بـه جـبر ارائـه شـده است. مدل معرفی شده علی رغم پوشش تمام مفاهیم شی گرایی، پـرس و جوهایـی را مجـاز مـی شـمارد کـه تـنها بـه انـدازه پـرس و جوهـای رابطـه ای توانمـند هسـتند. بـه طـور نمونه امکان انجام ﭘـﺮس و جوهـای بازگشـتی در آن وجـود نـدارد. اسـاس ایـن مشـکل در حفـظ امن بودن پرس و جوها توسط مدل است.۴ در زیر بخشهای بعدی، مهمترین مدلهای رایج دیگر در این زمینه معرفی میشوند.