تبلیغات
danesh1 - جبر رابطه ای
درباره وبلاگ

آرشیو

آخرین پستها

پیوندها

پیوندهای روزانه

صفحات جانبی

نویسندگان

ابر برچسبها

نظرسنجی

آمار وبلاگ

Admin Logo
themebox

جبررابطه ای



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



جبر رابطه ای (relational algebra) عملیات روی پایگاه داده را به صورت فرمول بیان می کند. جبر رابطه ای توسط Codd به عنوان مبنای زبان های پرس و جوی پایگاه داده ارائه شد. عملگرهای جبر رابطه ای توسط نمادهائی نمایش داده می شوند.

شش عملگر مبنائی جبر رابطه ای که توسط Codd تعریف شد عبارتند از:

• Selection: σ
• Projection: 
• Cartesian Product: ×
• Set union: 
• Set difference: – 
• Rename: 
اکثر عملگرهای دیگر توسط این عملگرها تعریف می شوند. مهمترین آنها عبارتند از:

• Set Intersection: 
• Division: ÷
• Natural Join: 

هر عملگرجبر رابطه ای روی یک یا دو رابطه به عنوان ورودی عمل کرده و یک رابطه جدید را به عنوان نتیجه تولید می کنند.

Selection


عملگر انتخاب (selection) یک عملگر یکتائی است که سطرهائی از یک رابطه را انتخاب می کند. فرم کلی آن به صورت زیر است:

σشرط(R)

خروجی عملگر selection رابطه ای است شامل سطرهایی از رابطه R که شرط موردنظر در آنها برقرار بوده است.

کاردینالیتی جدول حاصل کمتر یا مساوی جدول اولیه است اما درجه آنها تفاوت نمی کند.

شرط می تواند توسط علائم = ، ،> ،< ، ، ، (and) ، (or) و ~(not) ساخته شود.

Projection

عملگر پروژه (projection) عملگر یکتائی که ستون هائی از یک رابطه را انتخاب می کند. شکل کلی آن به صورت زیر است:


a1,…,an(R)
a1,…,an مجموعه از اسامی صفات خاصه است که از رابطه R انتخاب می شوند. نتیجه عمل پروژه جدولی شامل کلیه تاپل های رابطه R است که محدود به مجموعه صفات مشخص شده است.

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

Cartesian Product

ضرب دکارتی (Cartesian Product) عملگری است که روی دو جدول کار می کند و جدول جدیدی را می دهد که که یک رکورد برای هر جفت رکورد ممکن از هر دو جدول دارد. فرم کلی آن به صورت زیر است:

R × S
رکوردهای های رابطه R با کلیه رکوردها رابطه S به این صورت ترکیب می شوند که اولین سطر از رابطه R در کنار اولین سطر رابطه S در جدول حاصل قرار می گیرد و به همین ترتیب تا آخرین سطر S اضافه می شود. همین عمل مجددا برای سطرهای دیگر رابطه R تکرار می شود.


در جدول حاصل احتمال تکرار شدن ستون ها وجود دارد.

درجه جدول حاصل برابر مجموع درجات دو جدول و کاردینالیتی آن برابر حاصل ضرب کاردینالیتی دو رابطه می باشد.

ضرب دکارتی در جبر رابطه ای متفاوت از آنچه درتئوری مجموعه است تعریف می شود.



Set Union


عملگر اجتماع (union) یک عملگر دوتائی است که مشابه عمل اجتماع در تئوری مجموعه ها عمل می کند. فرم کلی آن به صورت زیر است:

R S

اجتماع دو رابطه R و S جدولی است شامل کلیه تاپل های رابطه R و رابطه S.

دو رابطه ای که روی آنها عمل اجتماع انجام می شود باید همساز(compatible) باشند، یعنی باید دارای مجموعه صفات خاصه یکسان باشند.




درجه جدول حاصل تفاوتی نمی کند اما کاردینالیتی آن برابر با مجموع سطرهای هردو جدول منهای سطرهای مشترک است.

Difference

عملگر تفاضل (difference) یک عملگر دو تائی است و مشابه عمل تفاضل در تئوری مجموعه ها است. فرم کلی آن به صورت زیر است:

R - S
تفاضل R و S جدولی است که شامل کلیه تاپل هایی است که در R هست ولی در S نیست. سطر اول رابطه R با کلیه سطرهای رابطه S مقایسه می شود هر کدام که در رابطه S نبود در جدول حاصل قرار می گیرد.

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



کاردینالیتی جدول حاصل برابر کاردینالیتی رابطه R منهای سطرهای مشابه است. درجه آنها تفاوتی نمی کند.


Rename

عملگر تغییر نام (rename) یک عملگر یکتائی است که برای تغییر نام صفات خاصه یک رابطه یا نام خود رابطه استفاده می شود. تغییر نام به صورت نوشته می شود:

A(B)
نتیجه عمل تغییر نام روی رابطه B همان رابطه B است با نام جدید A به بیان دیگر رابطه B را به A تغییر نام می دهد.


Intersection



عملگر اشتراک (intersection) بر اساس عمل اشتراک مجموعه ها می باشد. فرم کلی آن به صورت زیر است:

R S
جدول حاصل از اشتراک دو رابطه R و S جدولی است شامل کلیه تاپل هایی که در هر دو جدول وجود دارد.

دو رابطه ای که روی آنها عمل اشتراک انجام می شود باید همساز باشند.






Division

عملگر تقسیم (division) روی دو رابطه انجام می شود. فرم کلی آن به صورت زیر است:

R ÷ S
حاصل تقسیم رابطه R بر رابطه S رابطه ای است شامل کلیه تاپل هائی از R برای صفات خاصه مشترک در رابطه S نیز وجود دارد. در جدول حاصل صفات خاصه ای از R اضافه می شود که در S نیست.



عمل تقسیم توسط عملگر های مبنائی به صورت زیر شبیه سازی می شود:

T := a1,...,an(R) × S
U := T - R
V := a1,...,an(U)
W := a1,...,an(R) – V

Join

الحاق طبیعی (Natural Join) یک عملگر دوتائی است که به صورت زیر نوشته می شود:

R S
نتیجه الحاق طبیعی رابطه ای است شامل کلیه ترکیبات تاپل های R و S است که صفات خاصه مشترک آنها برابر است.

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

دو رابطه که در الحاق شرکت می کنند باید دارای صفت خاصه مشترکی باشند.

مثال. جدول Loan و Borrower که به ترتیب حاوی مشخصات وام ها و وام گیرنده ها هستند را درنبظر بگیرید.



مثال. در جدول Borrower کلید خارجی فیلد Loan_no است. الحاق جداول Loan و Borrower اسامی وام گیرنده ها و مقدار وام آنها را می دهد.

وقتی عمل الحاق روی دو رابطه انجام می شود بعضی داده ها از دست می روند. بعضی وقت ها این داده ها اطلاعات مفیدی را دارند. الحاق خارجی (outer join) جداول را به نحوی ترکیب می کند که داده های مورد نظر در جدول نتیجه باقی بمانند.

بسته به اطلاعاتی که حفظ می شود سه نوع الحاق خارجی وجود دارد:

left outer join •
right outer join •
full outer join •

left outer join
نتیجه الحاق چپ مجموعه کلیه تاپل های رابطه R و S است که صفات خاصه مشترک آنها یکسان است بعلاوه تاپل هایی در R که برای صفت خاصه مشترک همنظیری در S ندارد. برای این تاپل ها در صفات خاصه ای که از S اضافه می شوند مقدار null قرارداده می شود.

الحاق چپ به صورت زیر نوشته می شود:

R S
مثال. الحاق خارجی چپ دو جدول Loan و Borrower به صورت زیر می شود:


الحاق چپ با استفاده ازالحاق طبیعی و اجتماع بدست می آید:

R S = S (R S)

right outer join
الحاق راست مشابه الحاق چپ است با این تفاوت که کلیه مقادیر رابطه سمت راست عملگر الحاق در نتیجه ظاهر می شود.

R S
مثال. الحاق خارجی راست دو جدول Loan و Borrower به صورت زیر می شود:


الحاق چپ با استفاده ازالحاق طبیعی و اجتماع بدست می آید:

R S = R (R S)

full outer join
الحاق خارجی کامل یا به طور خلاصه الحاق خارجی الحاق خارجی چپ و راست را با هم ترکیب می کند. نتیجه الحاق کامل خارجی مجموعه کلیه ترکیبات تاپل های R و S است که صفات خاصه مشترک آنها برابر است بعلاوه تاپل هائی در S که در R نیستند و تاپلهای R که در S وجود ندارند.

الحاق خارجی دو رابطه R و S به صورت زیر نوشته می شود:

R S
مثال. الحاق خارجی دو جدول Loan و Borrower به صورت زیر می شود:





الحاق خارجی کامل با اجتماع الحاق چپ و الحاق راست بدست می آید:


R S = (R S)(R S)
R S = R S (R S)


نوشته شده توسط :mahboobeh eravani
جمعه 26 خرداد 1391-12:48 ق.ظ