İlişkisel diller

Post on 25-Jan-2016

60 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

İ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

top related