Aljabar Relasional Bahasa Query Relasional Bahasa Query memungkinkan
Aljabar Relasional
Bahasa Query Relasional • Bahasa Query : memungkinkan untuk manipulasi dan pemanggilan data dari suatu basis data. • Model Relasional mendukung kesederhanaan, dengan kemampuannya untuk melakukan bahasa Query. • Bahasa Query tidak sama dengan bahasa pemrograman – Bahasa Query tidak dimaksudkan untuk digunakan pada proses kalkulasi yang kompleks. – Bahasa Query bisa dilakukan dengan mudah, mempunyai akses yang efisien terhadap himpunan data yang besar.
Relasi Formal dari Bahasa Query • Terdapat dua macam bentuk bahasa Query : – Aljabar Relasional : lebih bersifat operasional, sangat berguna untuk merepresentasikan eksekusi perencanaan. – Kalkulus Relasional : Memungkinkan user menggambarkan apa yang mereka inginkan, tidak pada bagaimana cara melakukan komputasi terhadap apa yang mereka inginkan tersebut. (tidak bersifat operasional, tapi bersifat deklaratif). • Memahami Aljabar dan Kalkulus Relasional adalah kunci dalam memahami SQL (Structured Query Language).
Aljabar Relasional • Operasi dasar : – Selection : Memilih sub himpunan baris dari suatu relasi. • Simbol : (σ) – Projection : Menghapus kolom yang tidak dikehendaki dari relasi. • Simbol : (∏) – Cross-product : Memungkinkan kita untuk mengkombinasikan dua relasi. • Simbol : (×) – Set-difference : Mendapatkan tupel yang terdapat dalam relasi satu, tapi tidak terdapat dalam relasi dua. • Simbol : (−) – Union : Mendapatkan tupel yang terdapat dalam relasi satu dan relasi dua. • Simbol : (U) • Operasi tambahan : – Intersection, join, division, renaming.
Operasi Aljabar Relasional • Untuk mengimplementasikan kedalam operasi aljabar relasional, berikut ini diberikan contoh relasi : – Pelaut(pid: integer, pnama: string, rating: integer, um ur: real) – Kapal(kid: integer, knama: string, kwarna: string) – Jadwal(pid: integer, kid: integer, hari: date)
Projection • Menghapus atribut yang tidak dikehendaki dari relasi. • Simbol : (∏) • Misal terdapat relasi berikut : • Jika diinputkan query : Maka table relasi yang dihasilkan dari query diatas adalah :
Projection • Jika, diberikan query : Maka table relasi yang dihasilkan dari query diatas adalah : Dari hasil tersebut, dapat dilihat bahwa operasi projection, dapat mengeleminasi duplikat (field yang bernilai sama).
Selection • Memilih kolom pada relasi, sesuai dengan kondisi yang sudah ditentukan. • Simbol : (σ) • Untuk contoh relasi seperti pada table sebelumnya, jika diberikan query : • maka table relasi yang dihasilkan :
Selection • Dan jika diberikan query berikut : • maka table relasi yang dihasilkan :
Union, Intersection, Set-Difference • Semua operasi ini membutuhkan dua relasi, syarat yang harus dipenuhi adalah : – Mempunyai jumlah field yang sama – Field yang berkorespondensi memiliki tipe yang sama. • Untuk dua table sebagai berikut : Pelautk
Union, Intersection, Set-Difference • Union pelaut U pelautk • Intersection pelaut п pelautk
Union, Intersection, Set-Difference • Set-Difference : Pelaut - pelautk
Cross-Product • Contoh dipakai dua relasi berikut untuk operator crossproduct maka tiap kolom tabel pelaut dipasangkan dengan tiap kolom tabel jadwal. Pelaut X jadwal
Rename • Skema hasil memiliki satu field per field dari pelaut dan kapal. Akan terjadi konflik jika kedua relasi memiliki nama field yang sama seperti pada contoh diatas. Ρ(C(1 → idpelaut, 5 → pidjadwal))
Natural join
- Slides: 15