Birleştirme (Join)

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.

Bu yazıyı beğendiyseniz, başkalarının da ilgisini çekebilirsiniz:


267 views

2 responses to “Birleştirme (Join)”
  1. Mustafa cem Kasapbaşı says:

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

  2. Şadi Evren ŞEKER says:

    evet haklısınız ilgili düzeltmeyi yaptım, teşekkürler

Leave a Reply


yedi * 9 =

Benzer Yazılar:

Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Birleştirme (Join)' isimli yazı 14 Jan 2009 tarihinde, saat: 18:12 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam267 defa okunmuştur.

Benzer yazıları Bilgisayar Matematiği, Veri Tabanı (Database) kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.


Category: Bilgisayar Matematiği, Veri Tabanı (Database)