MEETING 6 Aljabar Relational Relational Algebra Febriyanno Suryana

  • Slides: 24
Download presentation
MEETING 6 Aljabar Relational (Relational Algebra) Febriyanno Suryana, S. Kom, MM surya_gsc 04@yahoo. com

MEETING 6 Aljabar Relational (Relational Algebra) Febriyanno Suryana, S. Kom, MM surya_gsc [email protected] com www. suryagsc. wordpress. com 0852 7474 1981 FEKON - 2012

TU l Mahasiswa mampu membuat query dengan aljabar relasional TK l l Mahasiswa memahami

TU l Mahasiswa mampu membuat query dengan aljabar relasional TK l l Mahasiswa memahami bentuk Aljabar Relational Mahasiswa mengetahui pengambilan field dan record dari satu tabel dan banyak tabel. 2

Overview l l l Bahasa Query adalah bahasa yang dikhususkan untuk mengajukan pertanyaan atau

Overview l l l Bahasa Query adalah bahasa yang dikhususkan untuk mengajukan pertanyaan atau Query, yang melibatkan data dalam sebuah database. Input dan Output suatu query adalah relasi. Query dievaluasi menggunakan contoh input relasi dan menghasilkan contoh output relasi. Bahasa query menggunakan operasi-operasi aljabar relasional. Aljabar relasional mendefenisikan secara teoritis cara memanipulasi isi tabel dengan menggunakan 8 fungsi relasional : - SELECT - INTERSECT - PRODUCT - PROJECT - UNION - DIVIDE - JOIN - DIFFERENCE 3

Aljabar Relasional (Bahasa Prosedural) l l l Kumpulan operasi terhadap tabel, dimana setiap operasi

Aljabar Relasional (Bahasa Prosedural) l l l Kumpulan operasi terhadap tabel, dimana setiap operasi menggunakan satu atau lebih tabel untuk menghasilkan satu tabel yang baru. Lebih bersifat operasional, sangat berguna untuk merepresentasikan eksekusi perencanaan. Operasi-operasi Dasar : 1. 2. 3. 4. 5. l selection projection Union intersection set difference Operasi lainnya : 1. 2. 3. 4. cross/cartesian product join division sum, average, min, max, count 4

Jenis Operasi l l Operasi Unary terdiri dari selection, projection. Disebut operasi unary, karena

Jenis Operasi l l Operasi Unary terdiri dari selection, projection. Disebut operasi unary, karena dapat digunakan hanya pada satu tabel. Operasi Binary terdiri dari union, intersection, set difference, cartesian product, join dan division. Disebut operasi binary, karena memerlukan sepasang tabel. 5

1. Operasi Selection (σ / sigma) l l Operasi yang digunakan untuk memilih subset

1. Operasi Selection (σ / sigma) l l Operasi yang digunakan untuk memilih subset dari tuple-tuple pada suatu tabel. Notasi : σp(t) p disebut selection predicate (yang menentukan pemilihan) p merupakan formula dari kalkulus perbandingan (proportional calculus) yang berisi terms yang dihubungkan oleh : ^ (and), v (or), ~ (not) setiap term salah satu dari : <atribut> op <atribut> or <konstanta> atau <atribut> op <atribut> dengan op salah satu dari : =, ≠, >, ≥, <, ≤ 6

Operasi Selection (lanj)… l Contoh : dilakukan operasi σjenis=“action”(film) pada tabel film sebagai berikut

Operasi Selection (lanj)… l Contoh : dilakukan operasi σjenis=“action”(film) pada tabel film sebagai berikut : kode_film l jenis judul jml_keping jml_film A 01 action Spiderman 2 3 A 02 action Spiderman 2 2 5 D 01 drama Love Story 1 3 H 01 horor Evil Death 3 2 Hasilnya : suatu relasi dengan tuple-tuple yang memiliki jenis sama dengan action. kode_film jenis judul jml_keping jml_film A 01 action Spiderman 2 3 A 02 action Spiderman 2 2 5 7

2. Operasi Projection (p /pi) l l l Operasi yang digunakan untuk memilih subset

2. Operasi Projection (p /pi) l l l Operasi yang digunakan untuk memilih subset dari kolom-kolom pada suatu tabel Notasi : p. A 1, A 2, …, An(t), dimana A 1, A 2, …, An adalah daftar nama atribut dan t adalah nama suatu tabel. Hasilnya : suatu tabel dengan atribut yang tercantum pada daftar nama atribut pada operasi. 8

Operasi Projection (lanj)… l Contoh : dilakukan operasi pkode_film, jenis, judul(film) pada tabel film

Operasi Projection (lanj)… l Contoh : dilakukan operasi pkode_film, jenis, judul(film) pada tabel film sebagai berikut : kode_film l jenis judul jml_keping jml_film A 01 action Spiderman 2 3 A 02 action Spiderman 2 2 5 D 01 drama Love Story 2 3 H 01 horor Evil Death 2 2 Hasilnya : kode_film jenis judul A 01 action Spiderman A 02 action Spiderman 2 D 01 drama Love Story H 01 horor Evil Death 9

3. Operasi Union/Gabungan ( ) l l l Operasi yang digunakan untuk menggabungkan hasil

3. Operasi Union/Gabungan ( ) l l l Operasi yang digunakan untuk menggabungkan hasil dari beberapa query. Notasi : r s, menghasilkan suatu tabel baru yang elemen barisnya merupakan elemen dari r dan s, tidak ada duplikasi data. Untuk r s harus valid : r, s harus memiliki jumlah atribut yang sama. 10

Operasi Union/Gabungan (lanj)… l l tabel r l tabel s A B C aa

Operasi Union/Gabungan (lanj)… l l tabel r l tabel s A B C aa 1 7 aa 5 7 bb 5 7 cc 4 4 bb 12 7 dd 10 7 dd 23 10 aa 6 10 p. A(r) p. A(s) A aa bb dd cc 11

4. Operasi Intersection/Irisan ( ) l l l Notasi : r s, menghasilkan suatu

4. Operasi Intersection/Irisan ( ) l l l Notasi : r s, menghasilkan suatu tabel baru dengan elemen barisnya merupakan elemen yang terdapat pada tabel r dan elemen tersebut juga terdapat pada tabel s, tidak ada duplikasi data. r dan s harus memiliki jumlah atribut yang sama. tabel r tabel s A B a 1 a 2 b 3 b 1 r s A B a 2 12

5. Operasi Set Difference (–) l l l Notasi r – s, hasilnya tabel

5. Operasi Set Difference (–) l l l Notasi r – s, hasilnya tabel yang elemen barisnya terdapat pada r tetapi tidak terdapat di s. r dan s harus memiliki jumlah atribut yang sama. tabel r l tabel s A B C aa 1 7 aa 5 7 bb 5 7 cc 4 4 bb 12 7 dd 10 7 dd 23 10 aa 6 10 p. A(r) - p. A(s) A bb 13

6. Operasi Cross/Cartesian-Product l l l Notasi r x s, menghasilkan semua kombinasi baris/tuple

6. Operasi Cross/Cartesian-Product l l l Notasi r x s, menghasilkan semua kombinasi baris/tuple dari 2 buah tabel, yaitu tabel r dan s. Jumlah atribut tidak harus sama. Contoh : tabel r : maka r x s : tabel s : A B a 1 b 3 A B C D a 1 a 6 a 1 b 5 a 1 c 12 C D b 3 a 6 b 3 b 5 b 3 c 12 14

Komposisi Operasi-Operasi Relasional l l Operasi-operasi aljabar relasional dapat digabungkan dengan ekspresi aljabar relasional

Komposisi Operasi-Operasi Relasional l l Operasi-operasi aljabar relasional dapat digabungkan dengan ekspresi aljabar relasional lainnya. Contoh : terdapat tabel film sebagai berikut : kode_film jenis judul jml_keping jml_film A 01 action Spiderman 2 3 A 02 action Spiderman 2 2 5 D 01 drama Kabayan 2 3 H 01 horor 2 2 Scream 15

Komposisi Operasi-Operasi Relasional l Tampilkan kode_film, judul dan jml_film dengan jml_film > 3, maka

Komposisi Operasi-Operasi Relasional l Tampilkan kode_film, judul dan jml_film dengan jml_film > 3, maka operasi komposisinya sebagai berikut : pkode_film, judul, jml_film(σjml_film > 3(film)) hasilnya : kode_film A 02 judul Spiderman 2 jml_film 5 16

7. Operasi Join ( l l ) Digunakan untuk menggabungkan dua tabel atau lebih

7. Operasi Join ( l l ) Digunakan untuk menggabungkan dua tabel atau lebih dengan hasil berupa gabungan dari kolom-kolom yang berasal dari tabel tersebut. tabel R tabel S sid sname rating age sid bid day 22 dustin 7 45. 0 22 101 10/10/96 31 lubber 8 55. 5 58 103 11/12/96 58 rusty 10 35. 0 17

Operasi Join (lanj)… l l Operasinya : R S sama dengan operasi σ(Rx. S),

Operasi Join (lanj)… l l Operasinya : R S sama dengan operasi σ(Rx. S), disebut juga Full Join. Hasilnya : sid sname rating age sid bid day 22 dustin 7 45. 0 22 101 10/10/96 22 dustin 7 45. 0 58 103 11/12/96 31 lubber 8 55. 5 22 101 10/10/96 31 lubber 8 55. 5 58 103 11/12/96 58 rusty 10 35. 0 22 101 10/10/96 58 rusty 10 35. 0 58 103 11/12/96 18

8. Operasi Division (/) l l Notasi : R/S. Menghasilkan suatu tabel dari dua

8. Operasi Division (/) l l Notasi : R/S. Menghasilkan suatu tabel dari dua buah tabel yang terdiri dari atribut dari tabel R yang tidak terdapat pada tabel S dengan tupel-tupel dari tabel R yang memiliki kesamaan dengan tupel-tupel yang ada pada tabel S secara keseluruhan dan tidak terdapat duplikasi data. 19

Operasi Division (lanj)… l tabel R tabel S 1 sno pno s 1 p

Operasi Division (lanj)… l tabel R tabel S 1 sno pno s 1 p 2 s 1 p 3 s 1 p 4 R/S 1 s 2 p 1 sno s 2 p 2 s 1 s 3 p 2 s 4 p 2 s 3 s 4 p 4 s 4 20

9. Operasi SUM, AVERAGE, MIN, MAX, COUNT l l l SUM – digunakan untuk

9. Operasi SUM, AVERAGE, MIN, MAX, COUNT l l l SUM – digunakan untuk menghitung jumlah nilai pada suatu kolom. AVERAGE – digunakan untuk menghitung rata-rata dari suatu kolom. MIN – digunakan untuk mencari nilai minimal pada suatu kolom. MAX – digunakan untuk mencari nilai maksimal pada suatu kolom. COUNT – digunakan untuk menghitung jumlah baris pada suatu kolom. 21

Studi Kasus Tabel Peminjam nonasabah namacabang jumlah L-001 Anggi Peunayong 3000 L-052 Priyanto Pekan.

Studi Kasus Tabel Peminjam nonasabah namacabang jumlah L-001 Anggi Peunayong 3000 L-052 Priyanto Pekan. Bada 4500 L-125 Susillo Lamdingin 7000 Tabel Penabung nonasabah namanasabah jumlah L-081 Abidin 7500 L-052 Priyanto 5000 L-175 Suryo 1200 22

Latihan… 1. Tampilkan semua data dengan jumlah uang pinjaman di bawah 5000 2. Tampilkan

Latihan… 1. Tampilkan semua data dengan jumlah uang pinjaman di bawah 5000 2. Tampilkan namanasabah dan namacabang dari tabel peminjam 3. Tampilkan nonasabah untuk setiap jumlah peminjaman lebih besar dari 4000 4. Tampilkan semua namanasabah yang memiliki pinjaman atau tabungan dari bank 5. Tampilkan nonasabah, namanasabah, dan jumlah dari tabel peminjam dan penabung dimana jumlah dari pinjaman dan tabungan lebih besar dari 2500 23

End Session www. suryagsc. wordpress. com

End Session www. suryagsc. wordpress. com