İlişkisel diller

33
İlişkisel Diller İlişkisel Diller İlişkisel Cebir İlişkisel Cebir İlişkisel Hesaplama İlişkisel Hesaplama

Upload: jera

Post on 25-Jan-2016

60 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: İlişkisel Diller

İlişkisel Dillerİlişkisel Diller

İlişkisel Cebirİlişkisel Cebir

İlişkisel Hesaplamaİlişkisel Hesaplama

Page 2: İlişkisel Diller

İ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

Page 3: İlişkisel Diller

Örneklerde kullanılacak Örneklerde kullanılacak ilişkilerilişkiler

Page 4: İlişkisel Diller

Ö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

Page 5: İlişkisel Diller

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.

Page 6: İlişkisel Diller

(staff) (staff) salary>10000 salary>10000

Sorgu: Maaşı 1000’den Yüksek olan personeller hakkında ayrıntılı bilgi

Page 7: İlişkisel Diller

İ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

Page 8: İlişkisel Diller

İ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

Page 9: İlişkisel Diller

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

Page 10: İlişkisel Diller

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

Page 11: İlişkisel Diller

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

Page 12: İlişkisel Diller

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

Page 13: İlişkisel Diller

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

Page 14: İlişkisel Diller

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

Page 15: İlişkisel Diller

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

Page 16: İlişkisel Diller

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

Page 17: İlişkisel Diller

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

Page 18: İlişkisel Diller

(( (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;

Page 19: İlişkisel Diller

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

Page 20: İlişkisel Diller

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

Page 21: İlişkisel Diller

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.

Page 22: İlişkisel Diller

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

Page 23: İlişkisel Diller

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

Page 24: İlişkisel Diller

Sol ve sağ bitiştirme Sol ve sağ bitiştirme örnekleriörnekleri

Page 25: İlişkisel Diller

Tam bitiştirme örneğiTam bitiştirme örneği

Page 26: İlişkisel Diller

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

Page 27: İlişkisel Diller

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

Page 28: İlişkisel Diller

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)

Page 29: İlişkisel Diller

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

Page 30: İlişkisel Diller

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

Page 31: İlişkisel Diller

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

Page 32: İlişkisel Diller

İlişkisel Cebir İşlemleriİlişkisel Cebir İşlemleri

Page 33: İlişkisel Diller

İlişkisel Cebir İşlemleriİlişkisel Cebir İşlemleri