İlişkisel Cebir
İLİŞKİLİ CEBİR , yaygın olarak kullanılan bir prosedürel sorgulama dilidir. İlişki örneklerini girdi olarak toplar ve ilişkilerin oluşumlarını çıktı olarak verir. Bu eylemi gerçekleştirmek için çeşitli işlemler kullanır. SQL İlişkisel cebir sorgu işlemleri bir ilişki üzerinde özyinelemeli olarak gerçekleştirilir. Bu işlemlerin çıktısı, bir veya daha fazla girdi ilişkisinden oluşabilecek yeni bir ilişkidir.
Bu eğitimde şunları öğreneceksiniz:
- İlişkisel Cebir
- SEÇ (σ)
- Projeksiyon (π)
- Yeniden adlandır (ρ)
- Sendika operasyonu (υ)
- Farkı Ayarla (-)
- Kavşak
- Kartezyen çarpım (X)
- Operasyonlara Katılın
- İç birleşim:
- Theta Join:
- EQUI birleştirme:
- DOĞAL BİRLEŞİM (⋈)
- DIŞ BİRLEŞTİRME
- Sol Dış Birleşim (A B)
- Sağ Dış Birleşim: (A B)
- Tam Dış Birleşim: (A B)
Temel SQL İlişkisel Cebir İşlemleri
İlişkisel Cebir çeşitli gruplara ayrıldı
Tekli İlişkisel İşlemler
- SEÇ (sembol: σ)
- PROJE (sembol: π)
- YENİDEN ADLANDIR (sembol: ρ)
Küme Teorisinden İlişkisel Cebir İşlemleri
- BİRLİK (υ)
- KAVŞAK (),
- FARK (-)
- KARTEZ ÜRÜNLERİ (x)
İkili İlişkisel İşlemler
- KATILMAK
- BÖLÜNME
Bunları çözümlerle ayrıntılı olarak inceleyelim:
SEÇ (σ)
SELECT işlemi, belirli bir seçim durumuna göre tupleların bir alt kümesini seçmek için kullanılır. Sigma (σ) Sembolü bunu ifade eder. Seçim koşulunu karşılayan demetleri seçmek için bir ifade olarak kullanılır. Seçme operatörü, belirli bir yüklemi karşılayan tupleları seçer.
σp(r)
σ
yüklem r
, ilişkinin kısaltmasıdır, tablonun adı p
edat mantığıdır
örnek 1
σ topic = "Database" (Tutorials)
Çıktı - Konunun = 'Veritabanı' olduğu Öğreticilerden demetleri seçer.
Örnek 2
σ topic = "Database" and author = "guru99"( Tutorials)
Çıktı - Konunun "Veritabanı" ve "yazar" ın guru99 olduğu Öğreticilerden demetleri seçer.
Örnek 3
σ sales > 50000 (Customers)
Çıktı - Satışların 50000'den fazla olduğu müşterilerden demetleri seçer
Projeksiyon (π)
Projeksiyon, projeksiyon listesinde belirtilenler dışında girdi ilişkisinin tüm niteliklerini ortadan kaldırır. Projeksiyon yöntemi, İlişkinin dikey bir alt kümesini içeren bir ilişkiyi tanımlar.
Bu, yinelenen değerleri ortadan kaldırmak için belirtilen özniteliklerin değerlerinin çıkarılmasına yardımcı olur. (pi) sembolü, bir ilişkiden nitelikleri seçmek için kullanılır. Bu operatör, belirli sütunları bir ilişkiden korumanıza yardımcı olur ve diğer sütunları atar.
Projeksiyon Örneği:
Aşağıdaki tabloyu düşünün
Müşteri Kimliği | Müşteri adı | Durum |
---|---|---|
1 | Aktif | |
2 | Amazon | Aktif |
3 | elma | Etkin değil |
4 | Alibaba | Aktif |
Burada MüşteriAdı ve durum projeksiyonu,
Π CustomerName, Status (Customers)
Müşteri adı | Durum |
---|---|
Aktif | |
Amazon | Aktif |
elma | Etkin değil |
Alibaba | Aktif |
Yeniden adlandır (ρ)
Yeniden adlandır, bir ilişkinin özniteliklerini yeniden adlandırmak için kullanılan tekli bir işlemdir.
ρ (a / b) R, ilişkinin 'b' niteliğini 'a' ile yeniden adlandıracaktır.
Sendika operasyonu (υ)
BİRLİK, ∪ sembolü ile sembolize edilir. Tablo A veya B'deki tüm tupleları içerir. Aynı zamanda yinelenen tupleları ortadan kaldırır. Dolayısıyla, A BİRLİĞİ kümesi B kümesi şu şekilde ifade edilecektir:
Sonuç <- A ∪ B
Bir birleşim işleminin geçerli olması için aşağıdaki koşulların geçerli olması gerekir -
- R ve S aynı sayıda öznitelik olmalıdır.
- Öznitelik alanlarının uyumlu olması gerekir.
- Yinelenen demetler otomatik olarak kaldırılmalıdır.
Misal
Aşağıdaki tabloları düşünün.
Tablo A | Tablo B | |||
sütun 1 | sütun 2 | sütun 1 | sütun 2 | |
---|---|---|---|---|
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
A ∪ B verir
Tablo A ∪ B | |
sütun 1 | sütun 2 |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
Farkı Ayarla (-)
- Sembol onu ifade ediyor. A - B'nin sonucu, A'da olan ancak B'de olmayan tüm demetleri içeren bir ilişkidir.
- A'nın öznitelik adı, B'deki öznitelik adıyla eşleşmelidir.
- A ve B iki işlenen ilişkileri uyumlu veya Birlik uyumlu olmalıdır.
- A ile ilişkili olan ancak B'de olmayan tuple'lardan oluşan ilişki tanımlanmalıdır.
Misal
A-B
Tablo A - B | |
sütun 1 | sütun 2 |
---|---|
1 | 2 |
Kavşak
Bir kesişme ∩ sembolü ile tanımlanır
A ∩ B
Hem A hem de B'de bulunan tüm demet kümesinden oluşan bir ilişkiyi tanımlar. Ancak, A ve B birleşim uyumlu olmalıdır.
Misal:
A ∩ B
Tablo A ∩ B | |
sütun 1 | sütun 2 |
---|---|
1 | 1 |
DBMS'de Kartezyen Ürün (X)
DBMS'deki Kartezyen Ürün , iki ilişkiden sütunları birleştirmek için kullanılan bir işlemdir. Genel olarak, kartezyen bir ürün, tek başına gerçekleştirildiğinde hiçbir zaman anlamlı bir işlem değildir. Ancak başka işlemlerle takip edildiğinde anlam kazanır. Aynı zamanda Cross Product veya Cross Join olarak da adlandırılır.
Örnek - Kartezyen ürün
σ sütun 2 = '1' (AXB)
Çıktı - Yukarıdaki örnek, 2. sütunun değeri 1 olan A ve B ilişkisinden tüm satırları gösterir.
σ sütun 2 = '1' (AXB) | |
sütun 1 | sütun 2 |
---|---|
1 | 1 |
1 | 1 |
Operasyonlara Katılın
Birleştirme işlemi esasen kartezyen bir ürün ve ardından bir seçim ölçütüdür.
Birleştirme işlemi ⋈ ile gösterilir.
JOIN işlemi ayrıca farklı ilişkilerden çeşitli ilişkili tupleların birleştirilmesine de izin verir.
JOIN Türleri:
Birleştirme işleminin çeşitli biçimleri şunlardır:
İç Birleşimler:
- Teta birleştirme
- EQUI birleştirme
- Doğal birleşim
Dış birleşim:
- Sol dış katılma
- Sağ Dış Birleştirme
- Tam Dış Birleştirme
İç birleşim:
Bir iç birleşimde, yalnızca eşleşen ölçütleri karşılayan tupl'lar dahil edilirken geri kalanı hariç tutulur. Çeşitli İç Birleştirme türlerini inceleyelim:
Theta Join:
JOIN işleminin genel durumuna Theta birleştirme adı verilir. Θ sembolü ile gösterilir.
Misal
A ⋈θ B
Theta birleştirme, seçim kriterlerindeki herhangi bir koşulu kullanabilir.
Örneğin:
A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A. sütun 2> B. sütun 2 (B) | |
sütun 1 | sütun 2 |
---|---|
1 | 2 |
EQUI birleştirme:
Bir teta birleşimi yalnızca eşdeğerlik koşulunu kullandığında, bir eşit birleşim haline gelir.
Örneğin:
A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A. sütun 2 = B. sütun 2 (B) | |
sütun 1 | sütun 2 |
---|---|
1 | 1 |
EQUI birleştirme, bir RDBMS'de SQL kullanarak verimli bir şekilde uygulanması en zor işlemdir ve RDBMS'nin temel performans sorunlarına sahip olmasının bir nedeni.
DOĞAL BİRLEŞİM (⋈)
Doğal birleştirme, yalnızca ilişkiler arasında ortak bir öznitelik (sütun) varsa gerçekleştirilebilir. Özniteliğin adı ve türü aynı olmalıdır.
Misal
Aşağıdaki iki tabloyu düşünün
C | |
Num | Meydan |
---|---|
2 | 4 |
3 | 9 |
D | |
Num | Küp |
---|---|
2 | 8 |
3 | 27 |
C ⋈ D
C ⋈ D | ||
Num | Meydan | Küp |
---|---|---|
2 | 4 | 4 |
3 | 9 | 27 |
DIŞ BİRLEŞTİRME
Bir dış birleşimde, eşleşen ölçütleri karşılayan tuplelarla birlikte, kriterlere uymayan bazı veya tüm tupleları da dahil ederiz.
Sol Dış Birleşim (A B)
Sol dış birleşimde, işlem tüm demetin sol ilişkide tutulmasına izin verir. Ancak, doğru ilişkide eşleşen bir demet yoksa, birleştirme sonucundaki doğru ilişkinin öznitelikleri boş değerlerle doldurulur.
Aşağıdaki 2 Tabloyu düşünün
Bir | |
Num | Meydan |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
B | |
Num | Küp |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
A B
A ⋈ B | ||
Num | Meydan | Küp |
---|---|---|
2 | 4 | 4 |
3 | 9 | 9 |
4 | 16 | - |
Sağ Dış Birleşim: (A B)
Sağ dış birleşimde, işlem tüm demetin doğru ilişkide tutulmasına izin verir. Bununla birlikte, sol ilişkide eşleşen bir demet yoksa, birleştirme sonucundaki sol ilişkinin öznitelikleri boş değerlerle doldurulur.
A B
A ⋈ B | ||
Num | Küp | Meydan |
---|---|---|
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Tam Dış Birleşim: (A B)
Tam bir dış birleşimde, her iki ilişkiden gelen tüm tuplelar, eşleşme koşulundan bağımsız olarak sonuca dahil edilir.
A B
A ⋈ B | ||
Num | Küp | Meydan |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Özet
Operasyon (Semboller) |
Amaç |
---|---|
(Σ) seçin |
SELECT işlemi, belirli bir seçim durumuna göre tuplelerin bir alt kümesini seçmek için kullanılır. |
Projeksiyon (π) |
Projeksiyon, projeksiyon listesinde belirtilenler dışında girdi ilişkisinin tüm niteliklerini ortadan kaldırır. |
Sendika Operasyonu (∪) |
BİRLİK, sembol ile sembolize edilir. Tablo A veya B'deki tüm tupleları içerir. |
Farkı Ayarla (-) |
- Sembol onu ifade ediyor. A - B'nin sonucu, A'da olan ancak B'de olmayan tüm demetleri içeren bir ilişkidir. |
Kesişme (∩) |
Kesişim, hem A hem de B'de bulunan tüm demetlerin bir kümesinden oluşan bir ilişkiyi tanımlar. |
Kartezyen Çarpım (X) |
Kartezyen işlem, iki ilişkiden sütunları birleştirmek için faydalıdır. |
İç birleşim |
İç birleşim, yalnızca eşleşen ölçütleri karşılayan tupleları içerir. |
Teta Birleşimi (θ) |
JOIN işleminin genel durumuna Theta birleştirme adı verilir. Θ sembolü ile gösterilir. |
EQUI Birleştirme |
Bir teta birleşimi yalnızca eşdeğerlik koşulunu kullandığında, bir eşit birleşim haline gelir. |
Doğal Birleştirme (⋈) |
Doğal birleştirme, yalnızca ilişkiler arasında ortak bir öznitelik (sütun) varsa gerçekleştirilebilir. |
Dış Birleştirme |
Eşleşen ölçütleri karşılayan tuplelar ile birlikte bir dış birleşimde. |
Sol Dış Birleştirme ( ) |
Sol dış birleşimde, işlem tüm demetin sol ilişkide tutulmasına izin verir. |
Sağ Dış birleşim ( ) |
Sağ dış birleşimde, işlem tüm demetin doğru ilişkide tutulmasına izin verir. |
Tam Dış Birleşim ( ) |
Tam bir dış birleşimde, her iki ilişkiden gelen tüm tuplelar, eşleşme koşulundan bağımsız olarak sonuca dahil edilir. |