DBMS - Birleştirmeler

İki ilişkinin Kartezyen çarpımını almanın faydalarını anlıyoruz, bu bize birlikte eşleştirilmiş tüm olası tupl'ları verir. Ancak bazı durumlarda, hatırı sayılır sayıda niteliğe sahip binlerce demet ile büyük ilişkilerle karşılaştığımız bir Kartezyen ürünü almak bizim için mümkün olmayabilir.

Joinbir Kartezyen ürünü ve ardından bir seçim sürecinin birleşimidir. Bir Birleştirme işlemi, farklı ilişkilerden iki demeti eşler, ancak ve ancak belirli bir birleştirme koşulu sağlanırsa.

Aşağıdaki bölümlerde çeşitli birleştirme türlerini kısaca açıklayacağız.

Theta (θ) Birleştir

Teta birleştirme, teta koşulunu sağlamaları koşuluyla, farklı ilişkilerden tuple'ları birleştirir. Birleştirme koşulu, sembolü ile gösterilirθ.

Gösterim

R1 ⋈θ R2

R1 ve R2, özniteliklere (A1, A2, .., An) ve (B1, B2, .., Bn) sahip ilişkilerdir, öyle ki özniteliklerin ortak bir yanı yoktur, yani R1 ∩ R2 = Φ.

Theta join, her türlü karşılaştırma işlecini kullanabilir.

Öğrenci
SID İsim Std
101 Alex 10
102 Maria 11
Konular
Sınıf Konu
10 Matematik
10 ingilizce
11 Müzik
11 Spor Dalları

Student_Detail -

STUDENT Student.Std = Subject.Class SUBJECT

Student_detail
SID İsim Std Sınıf Konu
101 Alex 10 10 Matematik
101 Alex 10 10 ingilizce
102 Maria 11 11 Müzik
102 Maria 11 11 Spor Dalları

Equijoin

Theta birleştirme yalnızca kullandığında equalitykarşılaştırma operatörü, equijoin olduğu söylenir. Yukarıdaki örnek equijoin'e karşılık gelir.

Doğal Birleştirme ( )

Doğal birleştirme herhangi bir karşılaştırma operatörü kullanmaz. Kartezyen bir ürünün yaptığı gibi birleştirmez. Yalnızca iki ilişki arasında var olan en az bir ortak özellik varsa Doğal Birleştirme gerçekleştirebiliriz. Ek olarak, özniteliklerin aynı ada ve alana sahip olması gerekir.

Doğal birleştirme, her iki ilişkideki özniteliklerin değerlerinin aynı olduğu eşleşen özniteliklere etki eder.

Dersler
CID Ders Bölüm
CS01 Veri tabanı CS
ME01 Mekanik BEN Mİ
EE01 Elektronik EE
HoD
Bölüm Kafa
CS Alex
BEN Mİ Maya
EE Mira
Dersler ⋈ HoD
Bölüm CID Ders Kafa
CS CS01 Veri tabanı Alex
BEN Mİ ME01 Mekanik Maya
EE EE01 Elektronik Mira

Dış Birleşimler

Theta Join, Equijoin ve Natural Join iç birleşimler olarak adlandırılır. Bir iç birleşim, yalnızca eşleşen özniteliklere sahip tuple'ları içerir ve geri kalanlar ortaya çıkan ilişkide atılır. Bu nedenle, ortaya çıkan ilişkiye katılan ilişkilerden gelen tüm demetleri dahil etmek için dış birleşimleri kullanmamız gerekir. Üç tür dış birleşim vardır - sol dış birleşim, sağ dış birleşim ve tam dış birleşim.

Sol Dış Birleşim (R
S)

Sol ilişkideki tüm tuplelar, ortaya çıkan ilişkiye dahil edilir. Sağ bağıntısında S herhangi bir eşleşen tuple olmadan R'de tuplelar varsa, ortaya çıkan ilişkinin S öznitelikleri NULL yapılır.

Ayrıldı
Bir B
100 Veri tabanı
101 Mekanik
102 Elektronik
Sağ
Bir B
100 Alex
102 Maya
104 Mira
Dersler
HoD
Bir B C D
100 Veri tabanı 100 Alex
101 Mekanik --- ---
102 Elektronik 102 Maya

Sağ Dış Birleşim: (R
S)

Sağ bağıntısından gelen tüm tuplelar, ortaya çıkan ilişkiye dahil edilir. S'de R'de eşleşen herhangi bir tuple olmayan tuplelar varsa, sonuçta ortaya çıkan ilişkinin R nitelikleri NULL yapılır.

Dersler
HoD
Bir B C D
100 Veri tabanı 100 Alex
102 Elektronik 102 Maya
--- --- 104 Mira

Tam Dış Birleşim: (R
S)

Her iki katılımcı ilişkiden gelen tüm demetler ortaya çıkan ilişkiye dahil edilir. Her iki ilişki için eşleşen tuple yoksa, ilgili eşleşmeyen öznitelikleri NULL yapılır.

Dersler
HoD
Bir B C D
100 Veri tabanı 100 Alex
101 Mekanik --- ---
102 Elektronik 102 Maya
--- --- 104 Mira