Yazan : Şadi Evren ŞEKER
ilişkisel veritabanlarını matematiksel olarak modellemeye yarayan ilişkisel cebirde (relational algebra) kullanılan ve veri tabanında bulunan tabloları birleştirerek daha büyük tabloların çıkarılmasını sağlayan işlemdir.
Kabaca her birleştirme (join) bir kartezyen çarpım (cartesian product) işlemidir. Birleştirme işlemleri bundan farklı olarak bazı koşullar bulundurur ve tablolar arasındaki tasarım ilişkileri marifetiyle sonuç kümesinde azaltmaya giderler.
Örneğin aşağıdaki tabloları ele alalım:
Çalışan tablosu aşağıdaki şekilde olsun:
İsim | Soyisim | Yaş | Kısım |
Ali | Baba | 50 | 2 |
Cem | Yıldız | 40 | 1 |
Şadi Evren | ŞEKER | 30 | 1 |
Veli | Demir | 20 | 2 |
Ayrıca ikinci bir tablo olarak kısım bilgileri aşağıdaki şekilde verilmiş olsun
İsim | No | Dahili Tel |
Bilgi İşlem | 1 | 147 |
Muhasebe | 2 | 148 |
Yukardaki iki tablo arasında tasarım sırasında öngörülen bir durum çalışan tablosundaki kısım sütununun bir yabancı anahtar (foreign key) olması ve kısım tablosundaki no sütununun birincil anahtar (primary key) olması durumudur.
Öncelikle böyle bir ilişkinin bulunmadığı kartezyen çarpıma (cartesian product) bakalım (çalışan x kısım):
İsim | Soyisim | Yaş | Kısım | İsim | No | Dahili Tel |
Ali | Baba | 50 | 2 | Bilgi İşlem | 1 | 147 |
Ali | Baba | 50 | 2 | Muhasebe | 2 | 148 |
Cem | Yıldız | 40 | 1 | Bilgi İşlem | 1 | 147 |
Cem | Yıldız | 40 | 1 | Muhasebe | 2 | 148 |
Şadi Evren | ŞEKER | 30 | 1 | Bilgi İşlem | 1 | 147 |
Şadi Evren | ŞEKER | 30 | 1 | Muhasebe | 2 | 148 |
Veli | Demir | 20 | 2 | Bilgi İşlem | 1 | 147 |
Veli | Demir | 20 | 2 | Muhasebe | 2 | 148 |
Yukarıdaki kartezyen çarpıma bir koşul olarak no=kısım şartı eklenirse. Yani no alanındaki değer ile kısım alanındaki değerler eşit olmalıdır şartı eklenirse:
İsim | Soyisim | Yaş | Kısım | İsim | No | Dahili Tel |
Ali | Baba | 50 | 2 | Muhasebe | 2 | 148 |
Cem | Yıldız | 40 | 1 | Bilgi İşlem | 1 | 147 |
Şadi Evren | ŞEKER | 30 | 1 | Bilgi İşlem | 1 | 147 |
Veli | Demir | 20 | 2 | Muhasebe | 2 | 147 |
Yukarıdaki şekilde sadece ilgili kişinin çalıştığı ilgili kısım ile ilişkilendirilmiş halini (join) bulmuş oluruz. Bu şekildeki birleştirmelere şartlı birleştirme (conditional join) ismi de verilir.
son örnekte veli demir için kısım ve no alanları yanlış yazılmış hocam… gerçi ilk tablolara bakılınca anlaşılıyor.. ellerine sağlık güzel örnekler derste de kullanıyorum..
evet haklısınız ilgili düzeltmeyi yaptım, teşekkürler