İlişkisel Cebir İlişkisel Hesaplama İlişkisel Diller İlişkisel Cebir İlişkisel Hesaplama
İlişkisel Cebir Temel işlemler Türeme işlemler Seçme İzdüşümü Kartezyen çarpı Birleştirme Fark Türeme işlemler Bitiştirme Kesişme Bölme
Örneklerde kullanılacak ilişkiler
Örneklerde kullanılacak ilişkiler(devamı) Viewing Rno Pno Date Comment CR56 PA14 24-may-98 Too small CR76 PG4 20-apr-98 Too remote 26-may-98 CR62 14-may-98 No dining room PG36 28-apr-98
Seçme (selection) (R) koşul Seçme işlemi tek R ilişkisi üzerinde yapılıyor. İşlemin sonucu R-in yalnız belirlenmiş koşulu (predicate) sağlayan satırlarından oluşan ilişkidir.
Sorgu: Maaşı 1000’den Yüksek olan personeller hakkında ayrıntılı bilgi (staff) salary>10000
İzdüşümü (projection) (R) süt1,süt2,…,süt n Tek bir R ilişkisi üzerinde yapılıyor. İşlemin sonucu R’ in belirlenmiş özellik değerlerinden oluşan ve tekrarlamalar bulunmayan dikey altkümesidir
İzdüşümü sorgu: personellerin numaraları, adları,soyadları ve maaşları (staff) sno, fname, lname, salary
Kartezyen Çarpım (cartesian product) R X S İşlemin sonucu R’in her bir satırını S’in her bir satırı ile birleştirmekle alınan ilişkidir
Kartezyen Çarpım Sorgu : evlere bakmış tüm kiracıların adları ve açıklamaları ( (Renter) ) x ( (viewing) ) rno,fname,lname rno,pno,comment) Rno Pno Date Comment CR56 PA14 24-may-98 Too small CR76 PG4 20-apr-98 Too remote 26-may-98 CR62 14-may-98 No dining room PG36 28-apr-98
Kartezyen çarpım fazlalık içermektedir renter.rno=viewing.rno ( (Renter) ) x ( (viewing) ) rno,fname,lname rno,pno,comment)
Birleşme (union) R U S Satırlar sayısı uygun olarak I ve J olan iki R ve S ilişkisinin birleşme işleminin sonucu, tekrar satırların yer almadığı, en fazla (I+J)satırdan oluşan ve bu iki ilişkinin yatay birleşmesi ile alınan ilişkidir. R ve S birleşebilir olmalıdır
Birleşme Sorgu: şube veya ev bulunan tüm mahallelerin listeleri ( (Branch ))U ( (Property_for_Rent)) area area Area Sidcup Dyce Partick Leigh Dee Kilburn Hynfland
Fark (set difference) R-S R ve S ilişkileri arasındaki fark işleminin sonucu, R ilişkisinde varolan, ama S’de olmayan satırlardan oluşan ilişkidir. R ve S birleşebilir olmalıdır
Fark Sorgu: Şubelerin bulunduğu, ama kiralık evlerin bulunmadığı kentler ( (Branch) ) - ( (Property_for_rent) ) city city City Bristol
Bitiştirme İşlemleri Theta-Join (-Join) Equi-Join Natural Join Outer Join left outer join right outer join full outer join Semi-Join
Theta –Join İşlemi R S R S = (RxS) F F F Theta-Join işleminin sonucu, R ve S ilişkisinin kartezyen çarpımından alınan ve F koşulunu sağlayan satırlardan oluşan ilişkidir. F R.aiΘS.bi biçimindedir. Θ karşılaştırma işlemidir R S = (RxS) F F
Equi-Join işlemi Bitiştirme işlemi “eşitlik” koşuluna göre gerçekleştiriliyor; Sorgu: evlere bakmış tüm kiracıların adları ve açıklamaları ( (renter) ) rno,fname,lname ( (Viewing) ) rno,pno,comment Renter.rno=viewing.rno
Naturel_Join Equi-join işlemi + izdüşümü işlemi Ortak özelliklerden yalnız birisi sonuç ilişkide bulunuyor Sorgu: Evlere bakmış tüm kiracıların adları ve açıklamaları ( (renter) ) rno,fname,lname ( (Viewing) ) Rno, Pno,comment
Sol Bitiştirme (Left Outer Join) R ve S ilişkilerinin (sol) dış katılım işlemi sonucunda R’in, S ilişkisi ile ortak özelliklerinin değerlerinin eşit olmadığı satırları de sonuç ilişkide bulunuyor
Sol bitiştirme Sorgu: Evlere bakış sonuçları üzere rapor hazırlamalı (tüm kiralık evlerin listesini vermeli ve hangi evlere kimler tarafından bakıldığını ve görüşleri bildirmeli) ( property_for_rent property_for_rent. pno,street,city,rno,date,comment Viewing) Sonuç ilişki Viewing Rno Pno Date Comment CR56 PA14 24-may-98 Too small CR76 PG4 20-apr-98 Too remote 26-may-98 CR62 14-may-98 No dining room PG36 28-apr-98 Sol ilişkinin tüm satırları sonuç ilişkide yer almaktadır.
Sağ ve tam bitiştirme R ve S ilişkilerinin sağ bitiştirilmesi sonucu alınan ilişkide S’in eşleşme yapılmamış satırları da bulunuyor. R’in uygun satırlarındaki özellikler null değerler alıyor. R ve S ilişkilerinin tam bitiştirilmesi sonucu alınan ilişkide R’in ve S’in eşleşme yapılmamış satırları da bulunuyor. Uygun satırların özellikleri null değerler alıyor
Sağ bitiştirme (örnek) Sorgu1: Tüm kiralık evlerin listesini ve bunlardan hangilerinin ve kimler tarafından kiralandıklarını göstermeli (sağ bitiştirmeye örnek) Sorgu2: Tüm kiralık evlerin ve ev kiralamak isteyenlerin listesini, hangi evlerin ve kimler tarafından kiralandıklarını, kimlerin henüz ev kiralamadıklarını göstermeli (tam bitiştirmeye örnek) Kiralık_ev_arayanlar kiralık_evler Sağ bitiştirme-Sonuç ilişki Tam bitiştirme-sonucu
Sol ve sağ bitiştirme örnekleri
Tam bitiştirme örneği
Yarım -bitiştirme R S F Bu işlemin sonucunda alınan ilişki, R ilişkisinin S’le bitişmesinde iştirak eden satırlarını içeriyor
Yarım-bitiştirme Sorgu: Partick şubesinde çalışan personellerin tüm bilgileri (Staff Branch) Staff.bno=branch.bno and branch.area=’Partic
Kesişme R S Kesişme işleminin sonucunda alınan ilişki, aynı zamanda hem R, hem de S ilişkisinde bulunan satırlardan oluşur. R ve S birleşebilien olmalıdır. Kesişme işlemini fark işlemi ile ifade etmek mümkündür R S = R-(R-S)
Kesişme işlemi -örnek city Sorgu: hem emlak şubelerinin, hem de kiralık evlerin bulunduğu kentler ( (Branch) ) ( (Property_for_rent) ) city city city London Aberden Glasgow
Bölme R÷S Bölme işleminin sonucu, R ilişkisinin C özellikleri üzere tanımlanmış öyle satırlar kümesidir ki, bu satırlara S’in her bir satırı uygundur T1=Πc (R ) T2=Πc ((SxT1)-R) T=T1-T2
Bölme İşlemi Sorgu: Üç odalı tüm evlere bakmış tüm kiracılar Rno Pno ( (Viewing) )÷ ( (σ (Property_for_rent) ) rno,pno pno rooms=3 ( (Viewing) ) Rno Pno CR56 CR76CR56 CR62 PA14 PG4 PG36 ( (σ (Property_for_rent) ) pno rooms=3 rno,pno Pno PG4 PG36 Sonuç Rno CR56
İlişkisel Cebir İşlemleri
İlişkisel Cebir İşlemleri