آموزش سیستم مدیریت پایگاه داده - پیوست ها (Joins)
ما مزایای گرفتن ضرب دستوری دو رابطه را درک میکنیم که به ما تمامی تاپلهای ممکن که به هم مرتبط هستند را میدهد. اما ممکن است در برخی موارد نتوانیم ضرب دستوری را انجام دهیم، زیرا با روبرو شدن با رابطههای بزرگ با هزاران تاپل که تعداد قابل توجهی ویژگی دارند، عملی نباشد.
پیوست (Join) ترکیبی از ضرب دستوری توسط یک فرآیند انتخاب است. عملیات پیوست دو تاپل از رابطههای مختلف را جفت میکند، فقط در صورتی که شرط پیوست مشخصی برآورده شود.
در بخشهای زیر به طور مختصر انواع مختلف joins را توضیح خواهیم داد.
پیوست Theta (θ)
پیوست Theta تاپلها را از روابط مختلف در صورتی که شرط theta برآورده شود ترکیب میکند. شرط پیوست با نماد θ نشان داده میشود.
نمادگذاری
R1 ⋈θ R2
R1 و R2 رابطههایی هستند که ویژگیهای (A1، A2،..، An) و (B1، B2،..، Bn) را دارند به طوری که ویژگیها هیچ عنصر مشترکی ندارند، به عبارت دیگر R1 ∩ R2 = Φ.
پیوست Theta میتواند از تمام نوع اپراتورهای مقایسه استفاده کند.
دانشآموز | ||
---|---|---|
SID | نام | کلاس |
101 | الکس | 10 |
102 | ماریا | 11 |
دروس | |
---|---|
کلاس | درس |
10 | ریاضی |
10 | انگلیسی |
11 | موسیقی |
11 | ورزش |
جزئیات_دانشآموز -
STUDENT ⋈Student.Std = Subject.Class SUBJECT
جزئیات_دانشآموز | ||||
---|---|---|---|---|
SID | نام | Std | کلاس | درس |
101 | الکس | 10 | 10 | ریاضی |
101 | الکس | 10 | 10 | انگلیسی |
102 | ماریا | 11 | 11 | موسیقی |
102 | ماریا | 11 | 11 | ورزش |
Equijoin (معادل-پیوست-بر-اساس-تساوی)
وقتی پیوست Theta تنها از اپراتور مقایسه "تساوی" استفاده میکند، به آن پیوست معادل گفته میشود. مثال بالا متناظر با پیوست معادل است.
Natural Join (انضمام-طبیعی) (⋈)
انضمام طبیعی هیچ اپراتور مقایسهای استفاده نمیکند. به همان شیوهای که حاصلضرب دکارتی انجام میدهد ادغام نمیکند. ما میتوانیم فقط در صورت وجود حداقل یک ویژگی مشترک بین دو رابطه، انضمام طبیعی انجام دهیم. علاوه بر این، ویژگیها باید نام و دامنه یکسانی داشته باشند.
انضمام طبیعی بر روی ویژگیهای متناظر عمل میکند که مقادیر ویژگیها در هر دو رابطه یکسان است.
دروس | ||
---|---|---|
CID | درس | Dept |
CS01 | پایگاهداده | CS |
ME01 | مکانیک | ME |
EE01 | الکترونیک | EE |
سرپرست | |
---|---|
Dept | سرپرست |
CS | الکس |
ME | مایا |
EE | میرا |
دروس ⋈ سرپرست | |||
---|---|---|---|
Dept | CID | درس | سرپرست |
CS | CS01 | پایگاهداده | الکس |
ME | ME01 | مکانیک | مایا |
EE | EE01 | الکترونیک | میرا |
پیوستهای بیرونی
پیوست Theta، پیوست معادل و انضمام طبیعی پیوستهای داخلی نامیده میشوند. یک پیوست داخلی فقط شامل آن تاپلهایی با ویژگیهای مطابقتی است و بقیه در رابطه نتیجه حذف میشوند. بنابراین، برای درج تمام تاپلها از روابط مشارکتکننده در رابطه نتیجه نیازمند استفاده از پیوستهای بیرونی هستیم. سه نوع پیوست بیرونی وجود دارد: پیوست بیرونی چپ، پیوست بیرونی راست و پیوست بیرونی کامل.
پیوست بیرونی چپ (R S)
تمام تاپلهای رابطه چپ R در رابطه نتیجه درج میشوند. اگر تاپلهایی در R وجود داشته باشد که هیچ تاپل مطابقی در رابطه راست S نداشته باشد، آنگاه ویژگیهای S در رابطه نتیجه به صورت NULL قرار میگیرند.
چپ | |
---|---|
A | B |
100 | پایگاهداده |
101 | مکانیک |
102 | الکترونیک |
راست | |
---|---|
A | B |
100 | الکس |
102 | مایا |
104 | میرا |
دروس سرپرست | |||
---|---|---|---|
A | B | C | D |
100 | پایگاهداده | 100 | الکس |
101 | مکانیک | --- | --- |
102 | الکترونیک | 102 | مایا |
پیوست بیرونی راست: ( R S )
تمام تاپلهای رابطه راست S در رابطه نتیجه درج میشوند. اگر تاپلهایی در S وجود داشته باشد که هیچ تاپل مطابقی در رابطه چپ R نداشته باشد، آنگاه ویژگیهای R در رابطه نتیجه به صورت NULL قرار میگیرند.
دروس سرپرست | |||
---|---|---|---|
A | B | C | D |
100 | پایگاهداده | 100 | الکس |
102 | الکترونیک | 102 | مایا |
--- | --- | 104 | میرا |
پیوست بیرونی کامل: ( R S)
تمام تاپلهای هر دو رابطه مشارکتکننده در رابطه نتیجه درج میشوند. اگر هیچ تاپل مطابقی برای هر دو رابطه وجود نداشته باشد، ویژگیهای نامطابق آنها در رابطه نتیجه به صورت NULL قرار میگیرند.
دروس سرپرست | |||
---|---|---|---|
A | B | C | D |
100 | پایگاهداده | 100 | الکس |
101 | مکانیک | --- | --- |
102 | الکترونیک | 102 | مایا |
--- | --- | 104 | میرا |