İlişkisel diller
DESCRIPTION
İlişkisel Diller. İlişkisel Cebir İlişkisel Hesaplama. İlişkisel Cebir. Temel 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. - PowerPoint PPT PresentationTRANSCRIPT
İlişkisel Dillerİlişkisel Diller
İlişkisel Cebirİlişkisel Cebir
İlişkisel Hesaplamaİlişkisel Hesaplama
İlişkisel Cebirİlişkisel Cebir
Temel işlemlerTemel işlemler• SeçmeSeçme• İzdüşümüİzdüşümü• Kartezyen çarpıKartezyen çarpı• BirleştirmeBirleştirme• FarkFark
Türeme işlemlerTüreme işlemler• Bitiştirme Bitiştirme • KesişmeKesişme• BölmeBölme
Örneklerde kullanılacak Örneklerde kullanılacak ilişkilerilişkiler
Örneklerde kullanılacak Örneklerde kullanılacak ilişkiler(devamı)ilişkiler(devamı)
RnoRno PnoPno DateDate CommentComment
CR56CR56 PA14PA14 24-may-24-may-9898
Too smallToo small
CR76CR76 PG4PG4 20-apr-20-apr-9898
Too Too remoteremote
CR56CR56 PG4PG4 26-may-26-may-9898
CR62CR62 PA14PA14 14-may-14-may-9898
No dining No dining roomroom
CR56CR56 PG36PG36 28-apr-28-apr-9898
Viewing
Seçme (selection)Seçme (selection)
(R) (R) koşulkoşul
Seçme işlemiSeçme işlemi tek R ilişkisi üzerinde yapılıyor. tek R ilişkisi üzerinde yapılıyor. İşlemin sonucu R-in yalnız belirlenmiş koşulu İşlemin sonucu R-in yalnız belirlenmiş koşulu (predicate) sağlayan satırlarından oluşan (predicate) sağlayan satırlarından oluşan ilişkidir.ilişkidir.
(staff) (staff) salary>10000 salary>10000
Sorgu: Maaşı 1000’den Yüksek olan personeller hakkında ayrıntılı bilgi
İzdüşümü (projection)İzdüşümü (projection)
(R) (R) süt1,süt2,…,süt nsüt1,süt2,…,süt n
Tek bir R ilişkisi üzerinde yapılıyor. İşlemin sonucu Tek bir R ilişkisi üzerinde yapılıyor. İşlemin sonucu R’ in belirlenmiş özellik değerlerinden oluşan ve R’ in belirlenmiş özellik değerlerinden oluşan ve tekrarlamalar bulunmayan dikey altkümesidirtekrarlamalar bulunmayan dikey altkümesidir
İzdüşümüİzdüşümü
sorgu:sorgu: personellerin numaraları, adları,soyadları ve maaşları personellerin numaraları, adları,soyadları ve maaşları
(staff) (staff) sno, fname, lname, salarysno, fname, lname, salary
Kartezyen Çarpım (cartesian Kartezyen Çarpım (cartesian product)product)
RR X X SS
İşlemin sonucu R’in her bir satırını S’in İşlemin sonucu R’in her bir satırını S’in her bir satırı ile birleştirmekle alınan her bir satırı ile birleştirmekle alınan ilişkidirilişkidir
Kartezyen ÇarpımKartezyen ÇarpımSorgu : Sorgu : evlere bakmış tüm kiracıların adları ve açıklamalarıevlere bakmış tüm kiracıların adları ve açıklamaları
(( (Renter) ) x ( (Renter) ) x ( (viewing) ) (viewing) ) rno,fname,lname rno,pno,comment) rno,fname,lname rno,pno,comment)
RnoRno PnoPno DateDate CommentComment
CR56CR56 PA14PA14 24-may-9824-may-98 Too smallToo small
CR76CR76 PG4PG4 20-apr-9820-apr-98 Too remoteToo remote
CR56CR56 PG4PG4 26-may-9826-may-98
CR62CR62 PA14PA14 14-may-9814-may-98 No dining roomNo dining room
CR56CR56 PG36PG36 28-apr-9828-apr-98
Kartezyen çarpım fazlalık içermektedirKartezyen çarpım fazlalık içermektedir
(( (Renter) ) x ( (Renter) ) x ( (viewing) ) (viewing) ) rno,fname,lname rno,pno,comment) rno,fname,lname rno,pno,comment)
renter.rno=viewirenter.rno=viewing.rnong.rno
Birleşme (union)Birleşme (union)
RR UU SSSatırlar sayısı uygun olarak I ve J olan iki R Satırlar sayısı uygun olarak I ve J olan iki R
ve S ilişkisinin birleşme işleminin sonucu, ve S ilişkisinin birleşme işleminin sonucu, tekrar satırların yer almadığı, en fazla tekrar satırların yer almadığı, en fazla (I+J)satırdan oluşan ve bu iki ilişkinin yatay (I+J)satırdan oluşan ve bu iki ilişkinin yatay birleşmesi ile alınan ilişkidir.birleşmesi ile alınan ilişkidir.
R ve S birleşebilir olmalıdırR ve S birleşebilir olmalıdır
BirleşmeBirleşmeSorguSorgu: şube veya ev bulunan tüm mahallelerin : şube veya ev bulunan tüm mahallelerin listelerilisteleri
(( (Branch )) (Branch ))UU ( ( (Property_for_Rent)) (Property_for_Rent)) area areaarea area
AreaAreaSidcupSidcup
DyceDyce
PartickPartick
LeighLeigh
DeeDee
KilburnKilburn
HynflandHynfland
Fark (set difference)Fark (set difference)
R-SR-S
R ve S ilişkileri arasındaki fark R ve S ilişkileri arasındaki fark işleminin sonucu, R ilişkisinde işleminin sonucu, R ilişkisinde varolan, ama S’de olmayan varolan, ama S’de olmayan satırlardan oluşan ilişkidir. R ve S satırlardan oluşan ilişkidir. R ve S birleşebilir olmalıdırbirleşebilir olmalıdır
FarkFarkSorgu: Sorgu: Şubelerin bulunduğu, ama kiralık evlerin bulunmadığı Şubelerin bulunduğu, ama kiralık evlerin bulunmadığı kentler kentler
(( (Branch) ) - ( (Branch) ) - ( (Property_for_rent) ) (Property_for_rent) )citycity citycity
CityCity
BristoBristoll
Bitiştirme İşlemleriBitiştirme İşlemleri
• Theta-Join (Theta-Join (-Join)-Join)
• Equi-JoinEqui-Join
• Natural JoinNatural Join
• Outer JoinOuter Join
• left outer joinleft outer join
• right outer joinright outer join
• full outer joinfull outer join
• Semi-Join Semi-Join
Theta –Join İşlemiTheta –Join İşlemi
R SR S FF
Theta-Join işleminin sonucu, R ve S ilişkisinin kartezyen Theta-Join işleminin sonucu, R ve S ilişkisinin kartezyen çarpımından alınan ve F koşulunu sağlayan satırlardan çarpımından alınan ve F koşulunu sağlayan satırlardan oluşan ilişkidir. oluşan ilişkidir.
F R.aiF R.aiΘΘS.bi biçimindedir. S.bi biçimindedir. ΘΘ karşılaştırma işlemidir karşılaştırma işlemidir
R S = R S = (RxS) (RxS) F F F F
(( (Viewing) ) (Viewing) )
rno,pno,commentrno,pno,commentRenter.rno=viewing.rno
Sorgu: evlere bakmış tüm kiracıların adları ve açıklamaları
(( (renter) ) (renter) ) rno,fname,lname rno,fname,lname
Equi-Join işlemi
Bitiştirme işlemi “eşitlik” koşuluna göre gerçekleştiriliyor;
Naturel_JoinNaturel_Join
Sorgu: Evlere bakmış tüm kiracıların adları ve açıklamaları
(( (renter) ) (renter) ) rno,fname,lname rno,fname,lname
(( (Viewing) ) (Viewing) )
Rno, Pno,comment
Equi-join işlemi + izdüşümü işlemi
Ortak özelliklerden yalnız birisi sonuç ilişkide bulunuyor
Sol Bitiştirme (Left Outer Sol Bitiştirme (Left Outer Join)Join)
RR S
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ştirmeSol 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. property_for_rent. pno,street,city,rno,date,commentpno,street,city,rno,date,comment
Viewing)
RnoRno PnoPno DateDate CommentComment
CR56CR56 PA14PA14 24-may-9824-may-98 Too smallToo small
CR76CR76 PG4PG4 20-apr-9820-apr-98 Too remoteToo remote
CR56CR56 PG4PG4 26-may-9826-may-98
CR62CR62 PA14PA14 14-may-9814-may-98 No dining No dining roomroom
CR56CR56 PG36PG36 28-apr-9828-apr-98
Viewing
Sonuç ilişki
Sol ilişkinin tüm satırları sonuç ilişkide yer almaktadır.
Sağ ve tam bitiştirmeSağ ve tam bitiştirme
• R ve S ilişkilerinin sağ bitiştirilmesi sonucu R ve S ilişkilerinin sağ bitiştirilmesi sonucu alınan ilişkide S’in eşleşme yapılmamış alınan ilişkide S’in eşleşme yapılmamış satırları da bulunuyor. R’in uygun satırları da bulunuyor. R’in uygun satırlarındaki özellikler null değerler satırlarındaki özellikler null değerler alıyor.alıyor.
• R ve S ilişkilerinin tam bitiştirilmesi sonucu R ve S ilişkilerinin tam bitiştirilmesi sonucu alınan ilişkide R’in ve S’in eşleşme alınan ilişkide R’in ve S’in eşleşme yapılmamış satırları da bulunuyor. Uygun yapılmamış satırları da bulunuyor. Uygun satırların özellikleri null değerler alıyor 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 Sol ve sağ bitiştirme örnekleriörnekleri
Tam bitiştirme örneğiTam bitiştirme örneği
Yarım -bitiştirmeYarım -bitiştirme
RRF
S
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ştirmeYarım-bitiştirme
Sorgu: Partick şubesinde çalışan personellerin tüm bilgileri
(Staff
branch.area=’Partic
Branch)
Staff.bno=branch.bno and
KesişmeKesişme
RR 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)S = R-(R-S)
Kesişme işlemi -örnekKesişme işlemi -örnekSorgu: hem emlak şubelerinin, hem de
kiralık evlerin bulunduğu kentler(( (Branch) ) (Branch) ) ( (
(Property_for_rent) )(Property_for_rent) )citycity citycity
citycityLondonLondon
AberdeAberdenn
GlasgoGlasgoww
BölmeBölme
RR÷÷SS
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 İşlemiBölme İşlemi
Sorgu:Sorgu: Üç odalı tüm evlere bakmış tüm kiracılar Üç odalı tüm evlere bakmış tüm kiracılar
(( (Viewing) ) (Viewing) )÷÷ ( ( ( (σσ (Property_for_rent) ) (Property_for_rent) ) rno,pno pno rooms=3 rno,pno pno rooms=3
(( (Viewing) ) (Viewing) )
rno,pnorno,pno
RnoRno PnoPno
CR56CR56
CR76CR76CR56CR56
CR62CR62
CR56CR56
PA14PA14
PG4PG4
PG4PG4
PA14PA14
PG36PG36
(( ( (σσ (Property_for_rent) ) (Property_for_rent) ) pno rooms=3 pno rooms=3
Pno
PG4
PG36
Sonuç
Rno
CR56
İlişkisel Cebir İşlemleriİlişkisel Cebir İşlemleri
İlişkisel Cebir İşlemleriİlişkisel Cebir İşlemleri