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.

Yorumlar

  1. Mustafa cem Kasapbaşı

    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..

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


5 − üç =