فایل فردا

مرجع دانلود فایل های دانشجویی

فایل فردا

مرجع دانلود فایل های دانشجویی

پایان نامه مفاهیم پایگاه داده های رابطه ای و نرمال سازی

پایان نامه مفاهیم پایگاه داده های رابطه ای و نرمال سازی
دسته بندی علوم انسانی
بازدید ها 19
فرمت فایل docx
حجم فایل 1116 کیلو بایت
تعداد صفحات فایل 283
پایان نامه مفاهیم پایگاه داده های رابطه ای و نرمال سازی

فروشنده فایل

کد کاربری 1113
کاربر

پایان نامه مفاهیم پایگاه داده های رابطه ای و نرمال سازی

5-4-5 عملیاتهای رابطه ای در دیتالوگ

عبارتهای دیتالوگ غیر بازگشتی، بدون عملیاتهای محاسباتی در رسایی بیان معادل عبارتهایی هستند که در جبر رابطه ای از عملهای اصلی استفاده می کنند. (U , - , × , σ , П و ρ). ما در اینجا نمی خواهیم به تفضیل به اثبات این ادعا بپردازیم، بلکه می خواهیم با نشان دادن چند مثال به این موضوع بپردازیم که در دیتالوگ چگونه می توان عملیاتهای مختلف جبر رابطه ای را بیان کنیم. در همه موارد، رابطه دیدی را تعریف می کنیم که عنوان query را دارد تا عملیات ها را با مثال روشن کنیم.

قبلاً دیدیم که چگونه با استفاده از دستورات دیتالوگ گزینش انجام می دهیم. و با استفاده از تنها صفات لازم در راس دستور براحتی طرحها را اجرا می کنیم. برای طراحی صفت account_name از حساب از فرمول زیر استفاده می کنیم:

query (A) :- account (A , N , B)

ما می توانیم حاصل فلسفه دکارت را از دو رابطه r1 و r2 طبق زیر بدست آوریم:

query(X1 , X2 , … , Xn , Y1 , Y2 , … , Ym):-r1( X1 , X2 , … , Xn), r2(Y1 , Y2 , … , Ym)

بطوریکه r1 arity n ، r2 arity m و X1 , X2 , … , Xn و Y1 , Y2 , … , Ym همگی نام متغیرهای جداگانه هستند.

اتحاد دو رابطه r1 و r2 را به این صورت تشکیل می دهیم:

query(X1 , X2 , … , Xn) : -r1 ( X1 , X2 , … , Xn)

query(X1 , X2 , … , Xn) : - r2 ( X1 , X2 , … , Xn)

و مجموعه تفاوت دو رابطه r1 و r2 را به این صورت تکیل می دهیم:

query(X1 , X2 , … , Xn) : -r1 ( X1 , X2 , … , Xn), not r2(X1 , X2 , … , Xn)

بالاخره به این نکته توجه داریم که با نماد سازی وابسته به موقعیت که در دیتالوگ بکار میرود، تغییر نام عملگر ρ لازم نیست. یک رابطه می تواند بیش از یک بار در بدنه دستور اتفاق بیفتد اما در عوض تغییر نامی که نامهای جداگانه ای به هر رابطه بدهد، می توانیم نامهای متفاوت متغیر را در هر بار مختلف که اتفاق می افتد استفاده کنیم.

غیر ممکن نیست که بتوانیم بدون محاسبه و با کمک عملیاتهای جبر رابطه ای بیان پرس و جوی دیتالوگ غیر بازگشتی را نشان دهیم. ما این کار را به عنوان تمرینی به شما می سپاریم که انجام دهید. به این ترتیب شما می توانید بدون عملیات محاسباتی معادله عملیات اصلی جبر رابطه ای و دیتالوگ غیر بازگشتی را پایه گذاری کنید.

برخی توسعه ها برای پشتیبانی دیتالوگ از عملیاتهای بروز رسانی رابطه ای (درج کردن، حذف کردن و بروز کردن) است. این تر کیب نحوی برای چنین عملیات هایی از اجرا تا اجرا متفاوت است. برخی از سیستم ها استفاده کردن از - یا + را در رئوس دستور برای علامت گذاری درج کردن وحذف کردن مجاز می دانند. برای مثال ما می توانیم در شعبه perryridge ، همه account ها را به Johnstownتغییر دهیم.

+account(A,"Johnstown",B):-account(A,"Perryridge",B)

-account(A,"Perryridge",B):-account(A,"Perryridge",B)

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

5-4-6 بازگشتی در دیتالوگ

چند تا از کاربرد های پایگاه داده با ساختارهایی سروکار دارند که مشابه ساختارهای درختی اند (داده درختی) .برای مثال کارکنان یک سازمان را در نظر بگیرید. بعضی از کارکنان مدیر هستند و هر مدیر مجموعه ای از نفراتی را که به او(زن یا مرد) گزارش میرسانند اداره می کند. اما هر یک از این نفرات ممکن است به نوبت مدیر باشند و خود به نوبت افراد دیگری دارند که به آنها گزارش می دهند. بنا براین این کارکنان را شاید در ساختاری مشابه با ساختار درخت سازمان بندی کرد.

فرض کنید که ما جدول رابطه ای زیر را داریم:

Manager – schema = (employee-name, Manager –name)

بگذارید که Manager در این الگو یک رابطه باشد.

اکنون فرض کنید که می خواهیم بدانیم کدام کارمند مستقیم یا غیر مستقیم تحت نظارت مدیر معینی یعنی جونز است. بنابر این اگر مدیر alon ،Barinsky باشد و مدیرBarinsky ،Estovar و مدیر Estovar ، جونز باشد در نتیجه Alon ،Barinsky و Estovar کارمندانی هستند که تحت کنترل جونز هستند. اغلب مردم با بازگشتی (recursion) برنامه هایی برای دستکاری ساختارهای درختی داده ها می نویسند. با استفاده از ایده بازگشتی می توانیم مجموعه کارکنانی را که تحت کنترل و اداره جونز هستند مطابق زیر تعریف کنیم. افرادی که جونز سرپرست آنهاست شماره (1) است (افرادی که مدیرشان جونز است) و افرادی که مدیرشان را جونز سرپرستی می کند شماره (2) است. توجه داشته باشیدکه مورد (2) بازگشتی است.