İLİŞKİSEL CEBİR
(Veri tabanı dersi notudur)
İlişkisel cebir,
• İlişkisel veri tabanları üzerinde yapılan sorgulama işlemlerinin
matematiksel olarak modellenmesi ve matematik işlemler ile
çözülmesi için kullanılır.
• İlişkisel model ile birlikte kullanılan veri tabanı sorgulama
dilidir.
• SQL’in alt konusudur.
• Veri tabanı yönetim sistemi yazılan ifadeleri veritabanına
uygulamadan önce ilişkisel cebir işlemine çevirmektedir.
SQL İfadesi
İlişkisel Cebir İfadesi
Sorgu Çalıştırma Planı
Çalıştırılabilir Kod
İlişkisel cebir temel operatörleri;
• Seçim(Selection),
• Atma(Projection),
• Kartezyen çarpım(Cross-Product),
• Birleşim(Union),
• Küme Farkı(Set-difference)
• Kesişim(Intersection),
• Doğal birleştirme(Join),
• Bölme(Division),
• Yeniden adlandırma(Renamig)
İlişkisel cebirde her operatör geriye bir ilişki döndürdüğüne göre
birden fazla operatör aynı sorguda kullanılabilir.
Seçme işlemi σ
• Bir ilişkiden, belirlenen seçim kriterine göre satırlar içerisinden
istenilenlerin seçilerek gösterilmesi işlemini gerçekleştirir.
• Seçim işlemi σ simgesi ile gösterilir.
• σ seçim kriteri ( Tablo_Adi) şeklinde kullanılır.
• Seçim kriteri yazılırken tüm programlama dillerinde ve SQL’de
kullanılan karşılaştırma operatörleri (=, <, >, ≤, ≥, ≠) kullanılır.
• Birden fazla seçim belirtilirken " ve " mantıksal operatörüyle
bağlanacaksa " Ʌ " , " veya " ile bağlanacaksa " V " operatörü
ile kullanılır.
• " ve " ile bağlanan kriterlerin tamamının sağlanması gerekirken
" veya " ile bağlanan kriterlerden bir tanesinin sağlanması
yeterlidir.
Seçme örneği;
Ogr_No Ogr_Adi Bolum
2010001 Turgut Özseven Bilgisayar
2010002 Ahmet Kaçar Bilgisayar
2010002 Mustafa Yıldız Elektrik
σ bolum = " Bilgisayar " (ÖĞRENCİ)
Ogr_No Ogr_Adi Bolum
2010001 Turgut Özseven Bilgisayar
2010002 Ahmet Kaçar Bilgisayar
Atma İşlemi ∏
• Bir ilişkide istenmeyen sütunları gizlemek için kullanılır. Seçim
işlemiyle birlikte de kullanılabilir.
• Atma işlemi ∏ simgesi ile gösterilir.
• ∏ sütun isimleri (Tablo_Adi) şeklinde kullanılır.
Atma örneği;
Ogr_No Ogr_Adi Bolum
2010001 Turgut Özseven Bilgisayar
2010002 Ahmet Kaçar Bilgisayar
2010002 Mustafa Yıldız Elektrik
∏ Ogr_No, Bolum (ÖĞRENCİ)
2010003 Elif Kara Elektrik
Ogr_No Bolum
2010001 Bilgisayar
2010002 Bilgisayar
2010002 Elektrik
2010003 Elektrik
Seçme ve Atma Örneği;
Ogr_No Ogr_Adi Bolum
2010001 Turgut Özseven Bilgisayar
2010002 Ahmet Kaçar Bilgisayar
2010002 Mustafa Yıldız Elektrik
2010003 Elif Kara Elektrik
∏ Ogr_No, Ogr_Adi (σ bolum = " Bilgisayar " (ÖĞRENCİ))
Ogr_No Ogr_Adi
2010001 Turgut Özseven
2010002 Ahmet Kaçar
2010002 Mustafa Yıldız
2010003 Elif Kara
Kartezyen Çarpım Χ
• İki ilişkiden elde edebilecek tüm çiftlerin tek bir ilişki şeklinde
gösterilmesidir.
• Kartezyen çarpım Χ simgesi ile gösterilir.
• Tablo1 Χ Tablo2 şeklinde gösterilir.
• Kartezyen çarpımı sonucu oluşan ilişkinin satır sayısı kaynak
olarak kullanılan ilişkileri satır sayılarının çarpımlarına eşittir.
A
B
C
X
Y
A X
A Y
B X
B Y
C X
C Y
Kartezyen Örneği;
ÖĞRENCİ Χ DERS
Ogr_No Ogr_Adi Bolum
2010001 Turgut Özseven Bilgisayar
2010002 Ahmet Kaçar Bilgisayar
2010002 Mustafa Yıldız Elektronik
Ders_ID Ders_Adi
BT103 Veritabanı
BT413 Donanım
Ogr_No Ogr_Adi Bolum Ders_ID Ders_Adi
2010001 Turgut Özseven Bilgisayar BT103 Veritabanı
2010002 Ahmet Kaçar Bilgisayar BT103 Veritabanı
2010002 Mustafa Yıldız Elektrik BT103 Veritabanı
2010001 Turgut Özseven Bilgisayar BT413 Donanım
2010002 Ahmet Kaçar Bilgisayar BT413 Donanım
2010002 Mustafa Yıldız Elektrik BT413 Donanım
Birleşim ⋃
• İki ilişkide de bulunan tüm satırları almak için kullanılır.
• Belirtilen iki ilişkide aynı sayıda sütuna sahip olmalıdır ve
karşılıklı sütunlar aynı tipte olmalıdır.
• İki ilişkide aynı satırlar varsa bunlardan sadece bir tanesi alınır.
• Birleşim ⋃ simgesi ile gösterilir.
• TABLO1 ⋃ TABLO2 şeklinde kullanılır.
A
D
B
K
C
E
F
1.Küme ⋃ 2.Küme :
A,B,C,D,E,F,K
Birleşim Örneği;
Tablo1 ⋃ Tablo2
Sira_no Adi Soyadi
1 Ahmet Demir
2 Büşra Uçar
3 Fuat Cebe
Sira_no Adi Soyadi
1 Murat Barut
2 Ayşe Kaya
Sira_no Adi Soyadi
1 Ahmet Demir
2 Büşra Uçar
3 Fuat Cebe
1 Murat Barut
2 Ayşe Kaya
Tablo1veTablo2’ninbirleşimindensadeceadbilgileriniseçmekiçin
gerekliilişkiselcebirifadesiörneği;
∏ adi (Tablo1 ⋃ Tablo2)
Adi
Ahmet
Büşra
Fuat
Murat
Ayşe
Küme Farkı −
• İki ilişkiden birisinde bulunup diğerinde bulunmayan satırları
bulmak için kullanılır.
• Belirtilen iki ilişkide aynı sayıda sütuna sahip olmalıdır ve
karşılıklı sütunlar aynı tipte olmalıdır.
• Küme farkı − ile gösterilir.
• TABLO1 − TABLO2 şeklinde kullanılır.
A
D
B
K
C
E
F
1.Küme − 2.Küme : A,B,C
2.Küme − 1.Küme : F,E
Küme Farkı Örneği;
Depo1 − Depo2
Ürün_adi Fiyatı
Ürün1 250
Ürün2 500
Ürün3 300
Ürün_adi Fiyatı
Ürün1 250
Ürün4 700
Ürün_adi Fiyatı
Ürün2 500
Ürün3 300
Kesişim ⋂
• İki ilişkiden her ikisinde de bulunan satırları almak için
kullanılır.
• Belirtilen iki ilişkide aynı sayıda sütuna sahip olmalıdır ve
karşılıklı sütunlar aynı tipte olmalıdır.
• Küme farkı ⋂ sembolü ile gösterilir.
• Tablo1 ⋂ Tablo2 şeklinde kullanılır.
A
D
B
K
C
E
F
1.Küme ⋂ 2.Küme : D,K
Kesişim Örneği;
sira_no adi soyadi
1 Ahmet Demir
2 Büşra Uçar
3 Aydın Cebe
sira_no adi soyadi
1 Ahmet Demir
2 Büşra Uçar
3 Aydın Kara
Tablo1 ⋂ Tablo2
sira_no adi soyadi
1 Ahmet Demir
2 Büşra Uçar
∏ tablo1.adi(Tablo1) ⋂ ∏ tablo2.adi (Tablo2)
adi
Ahmet
Büşra
Aydın
Bölme ∶
• Elde edilen iki ilişkiyi karşılaştırarak, birinci ilişkide ikinci
ilişkinin tüm elemanlarını kapsayan satırları bulmak için
kullanılır.
• Örneğin, öğrenci ve ders tablosu için tüm dersleri alan
öğrencileri bulmak için kullanılabilir.
• Bölme ∶ sembolü ile gösterilir.
• Tablo1 : Tablo2 şeklinde kullanılır.
Bölme Örneği;
Sira_no Ad_Soyad Yaş
1 Ahmet Demir 25
2 Büşra Uçar 25
3 Aydın Cebe 45
Yaş
25
Sira_no Ad_Soyad
1 Ahmet Demir
2 Büşra Uçar
Personel ∶ Yaş
Birleştirme ⋈
• Ortak sütunlara sahip ilişkilerin birleştirilerek tek bir ilişkiye
dönüştürülmesine birleştirme denilir.
• Birleştirilecek ilişkilerin ortak sütunlara sahip olması gerekir.
• Kullanılan ortak anahtar sütunlar birleştirmenin temelini
oluşturur.
A 1
B 2
C 1
D 2
E 3
1 ABC
2 DEF
3 GHI
Ortak Sütunlar
A 1 ABC
B 2 DEF
C 1 ABC
D 2 DEF
E 3 GHI
Şartlı Birleştirme
• Şartlı birleştirmede, birleştirilen ilişkiler arasındaki ortak
sütunlar için koşul ifadesi belirtilir.
• Elde edilen sonuç ilişkisi Kartezyen çarpıma benzer ama koşul
ifadesinden dolayı Kartezyen çarpımından daha az satır içerir.
• Şartlı birleştirme ⋈c şeklinde gösterilir.
• Tablo1 ⋈c Tablo2 şeklinde kullanılır. " c " koşul ifadesi için
kullanılır.
Örnek:
Sno Ürün Fiyat
1 Ürün1 500
2 Ürün2 300
3 Ürün3 700
Sno Ürün Fiyat
1 Ürün1 350
2 Ürün2 350
3 Ürün3 400
Satış ⋈alım.fiyat>satış.fiyat Alım
Sno Ürün Fiyat Sno Ürün fiyat
1 Ürün1 350 2 Ürün2 300
2 Ürün2 350 2 Ürün2 300
3 Ürün3 400 2 Ürün2 300
Eşit Birleştirme
• Eşit birleştirmede, birleştirilen ilişkiler arasındaki ortak
sütunlar için eşitlik ifadesi belirtilir.
• Elde edilen sonuç ilişkisi Kartezyen çarpımına benzer ama
ortak sütunlardan sadece bir tanesi vardır.
• Eşit birleştirme ⋈e şeklinde gösterilir.
• Tablo1 ⋈e Tablo2 şeklinde kullanılır. " e " eşitlik ifadesi için
kullanılır.
Örnek:
Sno Ürün Fiyat
1 Ürün1 500
2 Ürün2 300
3 Ürün3 700
Sno Ürün Fiyat
1 Ürün1 350
2 Ürün2 350
3 Ürün3 400
Satış ⋈ alım.ürün = satış.ürün Alım
Sno Ürün Fiyat Sno fiyat
1 Ürün1 350 1 500
2 Ürün2 350 2 300
3 Ürün3 400 2 00
Doğal Birleştirme
• Doğal birleştirmede, birleştirilen ilişkiler arasında herhangi bir
koşul ifadesi yazmaya gerek yoktur.
• Ortak sütunlar otomatik birleştirilir ve tek bir sütun olarak
gösterilir. Ortak sütun sayısı bir tane ise eşit birleştirmeyle aynı
sonucu verecektir.
• Doğal birleştirme sayesinde diğer birleştirmelerde olan satır
tekrarı oluşmayacaktır.
• Doğal birleştirme ⋈ sembolü ile gösterilir.
• Tablo1 ⋈ Tablo2 şeklinde kullanılır.
Örnek:
Ogr_no Ogr_adi B_kod
2010001 Turgut Özseven BTP
2010002 Ahmet Kaçar ELK
2010002 Mustafa Yıldız ELKT
2010003 Elif Kara BTP
2010004 Mustafa Çağlayan MKN
B_kod Bölüm
BTP Bilgisayar
ELK Elektrik
ELKT Elektronik
MKN Makine
Öğrenci ⋈ Bölüm
Ogr_no Ogr_adi B_kod Bölüm
2010001 Turgut Özseven BTP Bilgisayar
2010002 Ahmet Kaçar ELK Elektrik
2010002 Mustafa Yıldız ELKT Elektronik
2010003 Elif Kara BTP Bilgisayar
2010004 Mustafa Çağlayan MKN Makine
Dışsal Birleştirme
• Normal birleştirme işlemlerinde ilişkili olmayan satırlar
gösterilmemektedir.
• Burada ilişkili olmayan satırlarda gösterilecektir ama ilişkisi
olmayan satırlar için NULL değer içerecektir.
• Üç tür dışsal birleştirme vardır;
Sol Birleştirme,
Sağ Birleştirme,
Tam Birleştirme.
Sol Birleştirme
• Bu tür birleştirme kullanıldığında birleştirme sembolünün
solundaki ilişki belirleyicidir ve bunun diğer ilişkiyle bir ilişkisi
bulunsun veya bulunmasın tüm satırları listelenecektir.
Sağındaki ilişkide ise sadece ilişkili satırlar listelenecektir. Eğer
bir ilişki bulunmuyorsa NULL değeri içerecektir.
ile gösterilir.
Sağ Birleştirme
• Bu tür birleştirme kullanıldığında birleştirme sembolünün
sağındaki ilişki belirleyicidir ve bunun diğer ilişkisi bulunsun
veya bulunmasın tüm satırları listelenecektir. Solundaki ilişkide
ise sadece ilişkili satırlar listelenecektir. Eğer bir ilişki
bulunmuyorsa NULL değeri içerecektir.
ile gösterilir.
Tam Birleştirme
• Sol ve Sağ Birleştirme işleminin birleştirme kümesidir. Yani her
ilişkide tüm satırlar listelenecek ve ilişkisi olamayanlar NULL
değer içerecektir. İle gösterilir.
Yarı Birleştirme
• Doğal birleştirmeye benzer bir şekilde çalışır. Farklı olarak
sadece belirtilen ilişkilerden bir tanesinin sütun bilgilerini
içerir, diğer ilişkinin bilgilerini içermez.
ile gösterilir.
Anti-Join
• Anti-Join, yarı birleştirme gibi ilişkilerden birisinde bulunan
sütunları gösterir ama işlev olarak tam tersidir. İki ilişki
arasında bağ bulunmayan satırları belirlemek için kullanılır.
ile gösterilir.
Yeniden Adlandırma ρ
• Yeniden adlandırma, ilişkiler veya ilişkilerin içerdiği sütunlara
takma isim vermek için kullanılır.
• Birleştirme veya Kartezyen çarpım sonucu elde edilen aynı
isimli sütunların isimleri karışıklığı önlemek için değiştirilebilir
veya ilişkisel cebir sonucu elde edilen tabloya isim verilebilir.
• Yeniden adlandırma ρ ile gösterilir.
• ρs(b1,b2,….,bn)(R) şeklinde kullanım R ilişkisi için, S ismini,
b1,b2,…,bn de sütunlar için
• ρ(R) şeklinde kullanım sadece R ilişkisi için s ismini verecektir.
• ρ(b1,b2,…,bn)(R) şeklinde kullanım sütunlar için de b1,b2,…,bn
isimlerini verecektir.
Özetleme & Gruplama Ʒ
• Özetleme işlemi bir tablo içeriğinin istenilen bir sütuna göre
hesaplamalar yapılmasını içerir.
• Gruplama da özetlemeye çok benzer ama aralarında fark vardır.
Gruplama, bir tablonun içeriğini istenilen bir sütun içeriğine göre
gruplandırarak her bir grup için hesaplamalar yapılmasını sağlar.
• Bu tür hesaplamalarda kullanılan ve çoğu veritabanı tarafından
desteklenen en temel 5 fonksiyon vardır. Bunlar; SUM, COUNT,
AVERAGE, MAX ve MİN fonksiyonlarıdır.
• Kullanım şekli; [Gruplanacak sütun] Ʒ [fonksiyon adı][sütun adı]
[Gruplanacak sütun] parametresi, özetleme işlemi gruplandırarak
yapılacaksa kullanılır. Sadece özetleme işlemi için buna gerek yoktur.
[fonksiyon adı] yapılan gruplama işlemi için kullanılacak olan
fonksiyon belirler (SUM, COUNT, AVERAGE, MAX, MİN)
[sütun adı] belirlenen fonksiyonun hangi sütun için uygulanacağını
belirler
ÖZET
• İlişkisel cebir ilişkisel model ile birlikte kullanılan veri tabanı
sorgulama dilidir. Ancak sorgulamalar teorik olarak
gerçekleştirilir.
• SQL’den farklı olarak herhangi bir yorumlayıcı veya derleyiciye
gerek yoktur. Sorgular çeşitli operatörlerin birleşiminden
meydana gelir.
• Sorguların temel özelliği ilişkisel bir veya iki ilişkiyi parametre
olarak alıp sonuç olarak yine ilişki üretir.
• İlişkisel cebirde her operatör geriye bir ilişki döndürdüğüne
göre birden fazla operatör aynı sorguda kullanılabilir.
• UNUTMA: Bir sorgu sadece tek bir yolla yazılabilir diye bir
kural yoktur.
İlişkisel Cebir Sembol İlişkisel Cebir Sembol
Seçim (Selection)
Atma (Projection)
Kartezyen Çarpım
(Cross-Product)
Birleşim (Union)
Küme Farkı
(Set-difference)
Kesişim (Intersection)
Bölme (Division)
Şartlı Birleştirme
(Condition Join)
Eşit Birleştirme
(Equijoin)
Doğal Birleştirme
(Natural Join)
Sol Birleştirme
(Left Outer Join)
Sağ Birleştirme
(Right Outer Join)
Tam Birleştirme
(Full Outer Join)
Yarı Birleştirme
(Semi-Join)
Ant-Join
Yeniden Adlandırma
(Renaming)
σ
∏
Χ
ρ
⋃
−
⋂
∶
⋈c
⋈e

More Related Content

PPTX
Bilgisayar Donanımı
PDF
Hastane Poliklinik Otomasyonu
PDF
Yapay Zeka ve Makine Öğrenmesi
PPTX
Yazilim projeleri maliyet tahmini ve cocomo modeli
DOCX
Hipertermi Kavram Haritası
PDF
Yapay Zeka Nedir?
PDF
[KGC 2012]Boost.asio를 이용한 네트웍 프로그래밍
PPTX
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)
Bilgisayar Donanımı
Hastane Poliklinik Otomasyonu
Yapay Zeka ve Makine Öğrenmesi
Yazilim projeleri maliyet tahmini ve cocomo modeli
Hipertermi Kavram Haritası
Yapay Zeka Nedir?
[KGC 2012]Boost.asio를 이용한 네트웍 프로그래밍
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)

More from dilarra (7)

PPTX
Web Tasarımı
PPTX
Uzaktan Eğitim
PPTX
edpuzzle
PPTX
Sanal Hastalıklar
PPTX
Siber Zorbalik
PPTX
Etik
PPTX
SosyalMedya
Web Tasarımı
Uzaktan Eğitim
edpuzzle
Sanal Hastalıklar
Siber Zorbalik
Etik
SosyalMedya
Ad

Veri Tabanı

  • 2. İlişkisel cebir, • İlişkisel veri tabanları üzerinde yapılan sorgulama işlemlerinin matematiksel olarak modellenmesi ve matematik işlemler ile çözülmesi için kullanılır. • İlişkisel model ile birlikte kullanılan veri tabanı sorgulama dilidir. • SQL’in alt konusudur.
  • 3. • Veri tabanı yönetim sistemi yazılan ifadeleri veritabanına uygulamadan önce ilişkisel cebir işlemine çevirmektedir. SQL İfadesi İlişkisel Cebir İfadesi Sorgu Çalıştırma Planı Çalıştırılabilir Kod
  • 4. İlişkisel cebir temel operatörleri; • Seçim(Selection), • Atma(Projection), • Kartezyen çarpım(Cross-Product), • Birleşim(Union), • Küme Farkı(Set-difference) • Kesişim(Intersection), • Doğal birleştirme(Join), • Bölme(Division), • Yeniden adlandırma(Renamig) İlişkisel cebirde her operatör geriye bir ilişki döndürdüğüne göre birden fazla operatör aynı sorguda kullanılabilir.
  • 5. Seçme işlemi σ • Bir ilişkiden, belirlenen seçim kriterine göre satırlar içerisinden istenilenlerin seçilerek gösterilmesi işlemini gerçekleştirir. • Seçim işlemi σ simgesi ile gösterilir. • σ seçim kriteri ( Tablo_Adi) şeklinde kullanılır. • Seçim kriteri yazılırken tüm programlama dillerinde ve SQL’de kullanılan karşılaştırma operatörleri (=, <, >, ≤, ≥, ≠) kullanılır. • Birden fazla seçim belirtilirken " ve " mantıksal operatörüyle bağlanacaksa " Ʌ " , " veya " ile bağlanacaksa " V " operatörü ile kullanılır. • " ve " ile bağlanan kriterlerin tamamının sağlanması gerekirken " veya " ile bağlanan kriterlerden bir tanesinin sağlanması yeterlidir.
  • 6. Seçme örneği; Ogr_No Ogr_Adi Bolum 2010001 Turgut Özseven Bilgisayar 2010002 Ahmet Kaçar Bilgisayar 2010002 Mustafa Yıldız Elektrik σ bolum = " Bilgisayar " (ÖĞRENCİ) Ogr_No Ogr_Adi Bolum 2010001 Turgut Özseven Bilgisayar 2010002 Ahmet Kaçar Bilgisayar
  • 7. Atma İşlemi ∏ • Bir ilişkide istenmeyen sütunları gizlemek için kullanılır. Seçim işlemiyle birlikte de kullanılabilir. • Atma işlemi ∏ simgesi ile gösterilir. • ∏ sütun isimleri (Tablo_Adi) şeklinde kullanılır.
  • 8. Atma örneği; Ogr_No Ogr_Adi Bolum 2010001 Turgut Özseven Bilgisayar 2010002 Ahmet Kaçar Bilgisayar 2010002 Mustafa Yıldız Elektrik ∏ Ogr_No, Bolum (ÖĞRENCİ) 2010003 Elif Kara Elektrik Ogr_No Bolum 2010001 Bilgisayar 2010002 Bilgisayar 2010002 Elektrik 2010003 Elektrik
  • 9. Seçme ve Atma Örneği; Ogr_No Ogr_Adi Bolum 2010001 Turgut Özseven Bilgisayar 2010002 Ahmet Kaçar Bilgisayar 2010002 Mustafa Yıldız Elektrik 2010003 Elif Kara Elektrik ∏ Ogr_No, Ogr_Adi (σ bolum = " Bilgisayar " (ÖĞRENCİ)) Ogr_No Ogr_Adi 2010001 Turgut Özseven 2010002 Ahmet Kaçar 2010002 Mustafa Yıldız 2010003 Elif Kara
  • 10. Kartezyen Çarpım Χ • İki ilişkiden elde edebilecek tüm çiftlerin tek bir ilişki şeklinde gösterilmesidir. • Kartezyen çarpım Χ simgesi ile gösterilir. • Tablo1 Χ Tablo2 şeklinde gösterilir. • Kartezyen çarpımı sonucu oluşan ilişkinin satır sayısı kaynak olarak kullanılan ilişkileri satır sayılarının çarpımlarına eşittir. A B C X Y A X A Y B X B Y C X C Y
  • 11. Kartezyen Örneği; ÖĞRENCİ Χ DERS Ogr_No Ogr_Adi Bolum 2010001 Turgut Özseven Bilgisayar 2010002 Ahmet Kaçar Bilgisayar 2010002 Mustafa Yıldız Elektronik Ders_ID Ders_Adi BT103 Veritabanı BT413 Donanım Ogr_No Ogr_Adi Bolum Ders_ID Ders_Adi 2010001 Turgut Özseven Bilgisayar BT103 Veritabanı 2010002 Ahmet Kaçar Bilgisayar BT103 Veritabanı 2010002 Mustafa Yıldız Elektrik BT103 Veritabanı 2010001 Turgut Özseven Bilgisayar BT413 Donanım 2010002 Ahmet Kaçar Bilgisayar BT413 Donanım 2010002 Mustafa Yıldız Elektrik BT413 Donanım
  • 12. Birleşim ⋃ • İki ilişkide de bulunan tüm satırları almak için kullanılır. • Belirtilen iki ilişkide aynı sayıda sütuna sahip olmalıdır ve karşılıklı sütunlar aynı tipte olmalıdır. • İki ilişkide aynı satırlar varsa bunlardan sadece bir tanesi alınır. • Birleşim ⋃ simgesi ile gösterilir. • TABLO1 ⋃ TABLO2 şeklinde kullanılır. A D B K C E F 1.Küme ⋃ 2.Küme : A,B,C,D,E,F,K
  • 13. Birleşim Örneği; Tablo1 ⋃ Tablo2 Sira_no Adi Soyadi 1 Ahmet Demir 2 Büşra Uçar 3 Fuat Cebe Sira_no Adi Soyadi 1 Murat Barut 2 Ayşe Kaya Sira_no Adi Soyadi 1 Ahmet Demir 2 Büşra Uçar 3 Fuat Cebe 1 Murat Barut 2 Ayşe Kaya
  • 15. Küme Farkı − • İki ilişkiden birisinde bulunup diğerinde bulunmayan satırları bulmak için kullanılır. • Belirtilen iki ilişkide aynı sayıda sütuna sahip olmalıdır ve karşılıklı sütunlar aynı tipte olmalıdır. • Küme farkı − ile gösterilir. • TABLO1 − TABLO2 şeklinde kullanılır. A D B K C E F 1.Küme − 2.Küme : A,B,C 2.Küme − 1.Küme : F,E
  • 16. Küme Farkı Örneği; Depo1 − Depo2 Ürün_adi Fiyatı Ürün1 250 Ürün2 500 Ürün3 300 Ürün_adi Fiyatı Ürün1 250 Ürün4 700 Ürün_adi Fiyatı Ürün2 500 Ürün3 300
  • 17. Kesişim ⋂ • İki ilişkiden her ikisinde de bulunan satırları almak için kullanılır. • Belirtilen iki ilişkide aynı sayıda sütuna sahip olmalıdır ve karşılıklı sütunlar aynı tipte olmalıdır. • Küme farkı ⋂ sembolü ile gösterilir. • Tablo1 ⋂ Tablo2 şeklinde kullanılır. A D B K C E F 1.Küme ⋂ 2.Küme : D,K
  • 18. Kesişim Örneği; sira_no adi soyadi 1 Ahmet Demir 2 Büşra Uçar 3 Aydın Cebe sira_no adi soyadi 1 Ahmet Demir 2 Büşra Uçar 3 Aydın Kara Tablo1 ⋂ Tablo2 sira_no adi soyadi 1 Ahmet Demir 2 Büşra Uçar ∏ tablo1.adi(Tablo1) ⋂ ∏ tablo2.adi (Tablo2) adi Ahmet Büşra Aydın
  • 19. Bölme ∶ • Elde edilen iki ilişkiyi karşılaştırarak, birinci ilişkide ikinci ilişkinin tüm elemanlarını kapsayan satırları bulmak için kullanılır. • Örneğin, öğrenci ve ders tablosu için tüm dersleri alan öğrencileri bulmak için kullanılabilir. • Bölme ∶ sembolü ile gösterilir. • Tablo1 : Tablo2 şeklinde kullanılır.
  • 20. Bölme Örneği; Sira_no Ad_Soyad Yaş 1 Ahmet Demir 25 2 Büşra Uçar 25 3 Aydın Cebe 45 Yaş 25 Sira_no Ad_Soyad 1 Ahmet Demir 2 Büşra Uçar Personel ∶ Yaş
  • 21. Birleştirme ⋈ • Ortak sütunlara sahip ilişkilerin birleştirilerek tek bir ilişkiye dönüştürülmesine birleştirme denilir. • Birleştirilecek ilişkilerin ortak sütunlara sahip olması gerekir. • Kullanılan ortak anahtar sütunlar birleştirmenin temelini oluşturur. A 1 B 2 C 1 D 2 E 3 1 ABC 2 DEF 3 GHI Ortak Sütunlar A 1 ABC B 2 DEF C 1 ABC D 2 DEF E 3 GHI
  • 22. Şartlı Birleştirme • Şartlı birleştirmede, birleştirilen ilişkiler arasındaki ortak sütunlar için koşul ifadesi belirtilir. • Elde edilen sonuç ilişkisi Kartezyen çarpıma benzer ama koşul ifadesinden dolayı Kartezyen çarpımından daha az satır içerir. • Şartlı birleştirme ⋈c şeklinde gösterilir. • Tablo1 ⋈c Tablo2 şeklinde kullanılır. " c " koşul ifadesi için kullanılır.
  • 23. Örnek: Sno Ürün Fiyat 1 Ürün1 500 2 Ürün2 300 3 Ürün3 700 Sno Ürün Fiyat 1 Ürün1 350 2 Ürün2 350 3 Ürün3 400 Satış ⋈alım.fiyat>satış.fiyat Alım Sno Ürün Fiyat Sno Ürün fiyat 1 Ürün1 350 2 Ürün2 300 2 Ürün2 350 2 Ürün2 300 3 Ürün3 400 2 Ürün2 300
  • 24. Eşit Birleştirme • Eşit birleştirmede, birleştirilen ilişkiler arasındaki ortak sütunlar için eşitlik ifadesi belirtilir. • Elde edilen sonuç ilişkisi Kartezyen çarpımına benzer ama ortak sütunlardan sadece bir tanesi vardır. • Eşit birleştirme ⋈e şeklinde gösterilir. • Tablo1 ⋈e Tablo2 şeklinde kullanılır. " e " eşitlik ifadesi için kullanılır.
  • 25. Örnek: Sno Ürün Fiyat 1 Ürün1 500 2 Ürün2 300 3 Ürün3 700 Sno Ürün Fiyat 1 Ürün1 350 2 Ürün2 350 3 Ürün3 400 Satış ⋈ alım.ürün = satış.ürün Alım Sno Ürün Fiyat Sno fiyat 1 Ürün1 350 1 500 2 Ürün2 350 2 300 3 Ürün3 400 2 00
  • 26. Doğal Birleştirme • Doğal birleştirmede, birleştirilen ilişkiler arasında herhangi bir koşul ifadesi yazmaya gerek yoktur. • Ortak sütunlar otomatik birleştirilir ve tek bir sütun olarak gösterilir. Ortak sütun sayısı bir tane ise eşit birleştirmeyle aynı sonucu verecektir. • Doğal birleştirme sayesinde diğer birleştirmelerde olan satır tekrarı oluşmayacaktır. • Doğal birleştirme ⋈ sembolü ile gösterilir. • Tablo1 ⋈ Tablo2 şeklinde kullanılır.
  • 27. Örnek: Ogr_no Ogr_adi B_kod 2010001 Turgut Özseven BTP 2010002 Ahmet Kaçar ELK 2010002 Mustafa Yıldız ELKT 2010003 Elif Kara BTP 2010004 Mustafa Çağlayan MKN B_kod Bölüm BTP Bilgisayar ELK Elektrik ELKT Elektronik MKN Makine Öğrenci ⋈ Bölüm Ogr_no Ogr_adi B_kod Bölüm 2010001 Turgut Özseven BTP Bilgisayar 2010002 Ahmet Kaçar ELK Elektrik 2010002 Mustafa Yıldız ELKT Elektronik 2010003 Elif Kara BTP Bilgisayar 2010004 Mustafa Çağlayan MKN Makine
  • 28. Dışsal Birleştirme • Normal birleştirme işlemlerinde ilişkili olmayan satırlar gösterilmemektedir. • Burada ilişkili olmayan satırlarda gösterilecektir ama ilişkisi olmayan satırlar için NULL değer içerecektir. • Üç tür dışsal birleştirme vardır; Sol Birleştirme, Sağ Birleştirme, Tam Birleştirme.
  • 29. Sol Birleştirme • Bu tür birleştirme kullanıldığında birleştirme sembolünün solundaki ilişki belirleyicidir ve bunun diğer ilişkiyle bir ilişkisi bulunsun veya bulunmasın tüm satırları listelenecektir. Sağındaki ilişkide ise sadece ilişkili satırlar listelenecektir. Eğer bir ilişki bulunmuyorsa NULL değeri içerecektir. ile gösterilir. Sağ Birleştirme • Bu tür birleştirme kullanıldığında birleştirme sembolünün sağındaki ilişki belirleyicidir ve bunun diğer ilişkisi bulunsun veya bulunmasın tüm satırları listelenecektir. Solundaki ilişkide ise sadece ilişkili satırlar listelenecektir. Eğer bir ilişki bulunmuyorsa NULL değeri içerecektir. ile gösterilir. Tam Birleştirme • Sol ve Sağ Birleştirme işleminin birleştirme kümesidir. Yani her ilişkide tüm satırlar listelenecek ve ilişkisi olamayanlar NULL değer içerecektir. İle gösterilir.
  • 30. Yarı Birleştirme • Doğal birleştirmeye benzer bir şekilde çalışır. Farklı olarak sadece belirtilen ilişkilerden bir tanesinin sütun bilgilerini içerir, diğer ilişkinin bilgilerini içermez. ile gösterilir. Anti-Join • Anti-Join, yarı birleştirme gibi ilişkilerden birisinde bulunan sütunları gösterir ama işlev olarak tam tersidir. İki ilişki arasında bağ bulunmayan satırları belirlemek için kullanılır. ile gösterilir.
  • 31. Yeniden Adlandırma ρ • Yeniden adlandırma, ilişkiler veya ilişkilerin içerdiği sütunlara takma isim vermek için kullanılır. • Birleştirme veya Kartezyen çarpım sonucu elde edilen aynı isimli sütunların isimleri karışıklığı önlemek için değiştirilebilir veya ilişkisel cebir sonucu elde edilen tabloya isim verilebilir. • Yeniden adlandırma ρ ile gösterilir. • ρs(b1,b2,….,bn)(R) şeklinde kullanım R ilişkisi için, S ismini, b1,b2,…,bn de sütunlar için • ρ(R) şeklinde kullanım sadece R ilişkisi için s ismini verecektir. • ρ(b1,b2,…,bn)(R) şeklinde kullanım sütunlar için de b1,b2,…,bn isimlerini verecektir.
  • 32. Özetleme & Gruplama Ʒ • Özetleme işlemi bir tablo içeriğinin istenilen bir sütuna göre hesaplamalar yapılmasını içerir. • Gruplama da özetlemeye çok benzer ama aralarında fark vardır. Gruplama, bir tablonun içeriğini istenilen bir sütun içeriğine göre gruplandırarak her bir grup için hesaplamalar yapılmasını sağlar. • Bu tür hesaplamalarda kullanılan ve çoğu veritabanı tarafından desteklenen en temel 5 fonksiyon vardır. Bunlar; SUM, COUNT, AVERAGE, MAX ve MİN fonksiyonlarıdır. • Kullanım şekli; [Gruplanacak sütun] Ʒ [fonksiyon adı][sütun adı] [Gruplanacak sütun] parametresi, özetleme işlemi gruplandırarak yapılacaksa kullanılır. Sadece özetleme işlemi için buna gerek yoktur. [fonksiyon adı] yapılan gruplama işlemi için kullanılacak olan fonksiyon belirler (SUM, COUNT, AVERAGE, MAX, MİN) [sütun adı] belirlenen fonksiyonun hangi sütun için uygulanacağını belirler
  • 33. ÖZET • İlişkisel cebir ilişkisel model ile birlikte kullanılan veri tabanı sorgulama dilidir. Ancak sorgulamalar teorik olarak gerçekleştirilir. • SQL’den farklı olarak herhangi bir yorumlayıcı veya derleyiciye gerek yoktur. Sorgular çeşitli operatörlerin birleşiminden meydana gelir. • Sorguların temel özelliği ilişkisel bir veya iki ilişkiyi parametre olarak alıp sonuç olarak yine ilişki üretir. • İlişkisel cebirde her operatör geriye bir ilişki döndürdüğüne göre birden fazla operatör aynı sorguda kullanılabilir. • UNUTMA: Bir sorgu sadece tek bir yolla yazılabilir diye bir kural yoktur.
  • 34. İlişkisel Cebir Sembol İlişkisel Cebir Sembol Seçim (Selection) Atma (Projection) Kartezyen Çarpım (Cross-Product) Birleşim (Union) Küme Farkı (Set-difference) Kesişim (Intersection) Bölme (Division) Şartlı Birleştirme (Condition Join) Eşit Birleştirme (Equijoin) Doğal Birleştirme (Natural Join) Sol Birleştirme (Left Outer Join) Sağ Birleştirme (Right Outer Join) Tam Birleştirme (Full Outer Join) Yarı Birleştirme (Semi-Join) Ant-Join Yeniden Adlandırma (Renaming) σ ∏ Χ ρ ⋃ − ⋂ ∶ ⋈c ⋈e