جمعه ۲۳ آذر ۱۴۰۳
Tut24 آموزش برنامه نویسی و مجله تخصصی فناوری ورود/عضویت

آموزش سیستم مدیریت پایگاه داده - پیوست ها (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 میرا