ikd312-04-aljabar-relasional

793 views

Published on

Published in: Education
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
793
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
40
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

ikd312-04-aljabar-relasional

  1. 1. Aljabar Relasional 13 Oktober 2011
  2. 2. Bahasa Kueri Relasional Bahasa Kueri  Memungkinkan memanipulasi dan menampilkan data Model Relasional mendukung bahasa Kueri yang sederhana dan ampuh  Berdasarkan landasan teori Logika dan Himpunan  Memungkinkan optimasi pada level implementasi Bahasa Kueri bukanlah bahasa pemrograman  Tidak dirancang untuk melakukan komputasi kompleks  Mendukung akses yang mudah dan efisien untuk menampilkan data Aljabar Relasional 2
  3. 3. Bahasa Kueri Relasional Secara formal terbagi dua  Aljabar Relasional  Lebih ke tataran praktis dan implementasi  Memungkinkan perencanaan eksekusi yang efisien  Kalkulus Relasional  Menjelaskan apa yang diinginkan  Tidak menjelaskan bagaimana cara yang digunakan untuk mendapatkan hasil komputasi  Deklaratif Aljabar Relasional 3
  4. 4. R1 Sid Bid Day 22 101 10/10/96Contoh Tabel Relasi 58 103 11/12/96 Model data sebuah S1 Sid Name Rating Age perusahaan pelayaran 22 Dustin 7 45.0  Sailors, menyimpan 31 Lubber 8 55.5 data para nakhoda kapal 58 Rusty 10 35.0  Reserves, menyimpan data nakhoda yang S2 Sid Name Rating Age mengemudikan kapal 28 Yuppy 9 35.0 31 Lubber 8 55.5 44 Guppy 5 35.0 58 Rusty 10 35.0 Aljabar Relasional 4
  5. 5. Relasi dan Instance Bahasa Kueri diterapkan terhadap instance basis data Masukan (input) kueri adalah instance relasi Setiap operator kueri menghasilkan luaran (output) instance relasi Bahasa Kueri tidak mengubah schema relasi Aljabar Relasional 5
  6. 6. Operasi Dasar AljabarRelasional Selection (σ) Mengambil subset baris dari sebuah relasi Projection (π) Mengambil subset kolom dari sebuah relasi Cross-product (×) Mengombinasikan dua relasi Set-difference (–) Mengambil tuple di relasi pertama yang tidak ada di relasi kedua Union (∪) Menggabungkan tuple di kedua relasi Aljabar Relasional 6
  7. 7. Aljabar Relasional Bersifat tertutup  Masukan bagi Operasi dasar adalah relasi  Hasil dari Operasi dasar adalah relasi Operasi dasar bisa diterapkan secara berulang / nested Aljabar Relasional 7
  8. 8. Name Rating Yuppy 9 Lubber 8Operasi Projection π Guppy 5 Rusty 10 π name, rating (S2) Operasi Projection seharusnya menghilangkan duplikasi pada hasil kueri  Konsep himpunan  Implementasi DBMS tidak menghilangkan duplikasi kecuali dinyatakan secara eksplisit π age (S2) Age 35.0 55.0 Aljabar Relasional 8
  9. 9. Operasi Selection σ Menampilkan baris yang memenuhi kondisi seleksi  σ rating > 8 (S2) Sid Name Rating Age Komposisi operator 28 Yuppy 9 35.0 58 Rusty 10 35.0  π name, rating (σ rating > 8 (S2)) Name Rating Yuppy 9 Rusty 10 Aljabar Relasional 9
  10. 10. Union, Intersection, Set-difference Membutuhkan dua relasi sebagai operand Harus union-compatible  Jumlah kolomnya sama  Tipe data dalam kolom yang berpadanan harus sama S1 ∩ S2 Sid Name Rating Age S1 – S2 31 Lubber 8 55.5 58 Rusty 10 35.0Sid Name Rating Age22 Dustin 7 45.0 Aljabar Relasional 10
  11. 11. Union S1 ∪ S2 Sid Name Rating Age 22 Dustin 7 45.0 28 Yuppy 9 35.0 31 Lubber 8 55.5 44 Guppy 5 35.0 58 Rusty 10 35.0 Aljabar Relasional 11
  12. 12. Operasi Cross-product Setiap baris di relasi pertama dipasangkan dengan setiap baris di relasi kedua Jika ada kolom dengan nama yang sama dari kedua relasi, gunakan operator renaming ρ (C(1  sid1, 5  sid2), S1 × R1)  Kolom pada posisi ke-1 di-rename menjadi sid1  Kolom pada posisi ke-5 di-rename menjadi sid2 Aljabar Relasional 12
  13. 13. Operasi Cross-product(sid) Name Rating Age (sid) Bid Day22 Dustin 7 45.0 22 101 10/10/9622 Dustin 7 45.0 58 103 11/12/9631 Lubber 8 55.5 22 101 10/10/9631 Lubber 8 55.5 58 103 11/12/9658 Rusty 10 35.0 22 101 10/10/9658 Rusty 10 35.0 58 103 11/12/96 Aljabar Relasional 13
  14. 14. Join Conditional join R ×cond S = σcond (R × S)  Untuk sembarang relasi R dan S,  lakukan operasi Cross-product,  lakukan operasi Selection yang memenuhi kriteria cond Disebut juga Theta-join Schema relasi yang dihasilkan sama dengan schema relasi hasil operasi Cross-product Menghasilkan jumlah tuple yang lebih sedikit Aljabar Relasional 14
  15. 15. Equi-join Theta-join dengan kriteria cond = Theta-join Sid Name Rating Age sid bid day  S1 × S1.sid < R1.sid R1 22 Dustin 7 45.0 58 103 11/12/96 31 Lubber 8 55.5 58 103 11/12/96 Equi-join  S1 × sid R1 = S1 × S1.sid = R1.sid R1 Sid Name Rating Age sid bid day 22 Dustin 7 45.0 22 101 10/10/96 58 Rusty 10 35.0 58 103 11/12/96 Aljabar Relasional 15
  16. 16. Contoh Tampilkan nama para Sailors yang me-reserve kapal nomor 103 Alternatif 1  π name ((σ bid=103 R1) × S1) Alternatif 2  ρ(temp1, ς bid=103 R1)  ρ(temp2, temp1 × S1)  π name (temp2) Alternatif 3  π name (σ bid=103 (R1 × S1)) Aljabar Relasional 16
  17. 17. Pustaka http://tjerdastangkas.blogspot.com/search/label/ikd312 Aljabar Relasional 17
  18. 18. Kamis, 13 Oktober 2011

×