İlişkisel Cebir (Relational Algebra)

watch_later 1/27/2016
comment 5 Comments
Muhammad ibn Musa al-Khwarizmi Al-jabr kitabının yazarıdır. Kitabın başlığı Al-jabr (Cebir) Algebra’ya ismini vermiştir. İlişkisel Cebir genel anlamıyla ilişkisel veritabanının nasıl çalışacağına dair kurallara uygun tanımdır. Veritabanında verinin nasıl saklandığına dair bir arayüzdür. SQL işlemlerini destekleyen matematiktir.

İlişkisel cebirdeki operatörler SQL operatörleri ile aynı isimlere sahip olmak zorunda değildirler. Mesela SELECT ifadesi SQL’de de ilişkisel cebirde de vardır. Fakat kullanımları aynı değildir. Veri tabanı yönetim sistemi kullanıcı her ne yazarsa, yazılanı veritabanına uygulamadan önce alıp, ilişkisel cebir işlemlerine çevirmelidir.


İşlemler (Operations)
Bir İlişkili İşlemler (unary operations)
    Seçim (Selection)(σ): İlişkinin satırlarının bir alt kümesini seçer.
    Yansıtma (Projection)(π): İlişkinin istenmeyen sütunlarını siler.
    Yeniden Adlandırma (Rename)(ρ): İlişkinin istenilen sütunlarının adını değiştirir.
Küme Teorisi İşlemleri
     Küme farkı (Set-difference)(-): Birinci ilişkide bulunup ikinci ilişkide bulunmayan çoklular.
     Birleşim (Union)(): Birinci ve ikinci ilişkide bulunan çoklular.
     Kesişim (intersection)(∩): Birinci ve ikinci ilişkide ortak bulunan çoklular.
     Kartezyen çarpım (Cross-product)(x): İki ilişkiyi birleştirmeye yarar.
İkili İşlemler (binary operations)
    Bitişme (join)
    Bölme(division)
Diğer İşlemler
   Aggregate Functions (Sum, Count, Avg, Min, Max)

Aşağıdaki ilişkiler üzerinden örneklerimizi verelim:
Örnek Veritabanı İçerisindeki Kayıtlar
Örnek Veritabanı İlişkileri
Seçim (Selection) (σ)
Seçim şartını gerçekleyen satırları seçer.
Sonuçta tekrarlar yoktur.
Sonucun şeması girdi ilişkisinin şeması ile aynıdır.
Sonuç başka bir ilişkisel cebir işlemi için girdi olarak kullanılabilir.
Selection İşlemi
                      
Yansıtma (Projection) (π)
Yansıtma listesinde olmayan özellikleri siler.
Sonuç şeması tam olarak yansıtma listesinde olan özellikleri, girdi olan ilişkideki isimlerle, içerir.
Yansıtma işlemi tekrarları elemelidir.
   
Not: Gerçek hayatta tekrarlar kullanıcı açıkça istemedikten sonra elenmez.
Projection İşlemi
                                                   
Yeniden Adlandırma (Rename)(ρ)
İlişki veya ilişki özniteliklerinin adlarını değiştirmekte kullanılır.

Rename İşlemi
Rename İşlemi Uygulanmadığında
                                                 
Birleşim (Union), Kesişim (Intersection), Küme Farkı (Set-Difference)
Bütün bu işlemler girdi olarak iki ilişki alır, ki bu iki ilişki birleşime uyumlu olmalıdır.
1. Aynı sayıda alana sahip olmalıdır.
2. Karşılıklı alanlar aynı tipte olmalıdır.

Örnek Veritabanı İçerisindeki Kayıtlar
Birleşim (Union)(U)
Union İşlemi
                                              
Kesişim (Intersection)(∩)
Intersection İşlemi
                                                              
Küme Farkı (Set-Difference)(-)
Set-Difference İşlemi
                                                          
Union ve intersection yer değiştirme özelliği vardır.
R S = S
R ∩ S = S ∩ R

Union ve intersection birleşme özelliği vardır.
R (S T) = (R S) T
(R ∩ S) ∩ T = R ∩ (S ∩ T)

Set difference işleminin yer değiştirme özelliği yoktur.
R – S ≠ S – R

Kartezyen Çarpım (Cross-product) (x)
S1 x R1 : S1 in her satırı R1 in herbir satırıyla eşleşir.
Sonucun şeması S1 ve R1 deki herbir alana karşılık bir alan içerir.



Cross-Product İşlemi
                               
Bitiştirme (Join) ()
Kartezyen çarpım ve seçim işlemi birlikte kullanılırsa bitiştirme işlemi yapılmış olur.
Yani Join belirtilen iki işlemi birleştiren özel bir işlemdir.

Şartlı Bitiştirme (Conditional Join) (c)
R S = σc(R x S)
Sonuç şeması kartezyen çarpımdaki gibidir.
Kartezyen çarpımdan daha az çoklu içermesi daha verimli bir biçimde hesaplamayı sağlar.
Teta bitiştirmesi diye de adlandırılır.

Eşit Bitiştirme (Equijoin) (e)
e’nin herhangi bir eşitliğe karşılık geldiği özel bir şartlı bitiştirmedir.
Sonucun şeması kartezyen çarpımdakine benzerdir, sadece eşitliğin belirlendiği alanın tek kopyası vardır.

Doğal Bitiştirme (Natural join) (*)
Equijoin’deki aynı isimli öznitelik karşılaştırmalarını tekrar tekrar yazmamak için kullanılan işlemdir.
İki ilişkideki aynı isimli özniteliklerin eşitliğini karşılaştırır.
                         

Bölme (Division)(÷)
R’nin 2 A ve B isimli alanı, S’nin yalnız A isimli bir alanı olsun.
Eğer S' deki A kümesi R’deki bir A ile ilişkilendirilmişse ve R A ile ilişkili bir şekilde S deki tüm A’ları kapsıyorsa, bu A  R/S kümesi içerisindedir.

                                                  






Bir sonraki yazımda görüşmek üzere...
avatar
Adsız

Başarılı bir yazı olmuş.

delete 3 Şubat 2016 17:32
avatar
Adsız

İsminin altında bulunan "Computer Enginner" yanlış yazılmış..

delete 3 Nisan 2017 16:40
avatar

Teşekkürler yardımcı olduğun için :)

delete 14 Nisan 2017 11:52
avatar
anonim

daha bulanık resim yok muydu, bunlar ne böyle kardeşim

delete 9 Mayıs 2020 02:47



sentiment_satisfied Emoticon