23
1 Aljabar Relasional (Relational Algebra) Pengantar Basis Data

Materi 8 aljabar relasional

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Materi 8 aljabar relasional

1

Aljabar Relasional(Relational Algebra)

Pengantar Basis Data

Page 2: Materi 8 aljabar relasional

Aljabar Relasional (Bahasa Prosedural)2

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 : selection projection Union intersection set difference

Operasi lainnya : cross/cartesian product join division sum, average, min, max

Page 3: Materi 8 aljabar relasional

Jenis Operasi3

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.

Page 4: Materi 8 aljabar relasional

Operasi Selection (σ)4

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 : =, ≠, >, ≥, <, ≤

Page 5: Materi 8 aljabar relasional

Operasi Selection (lanj)5

Contoh : dilakukan operasi σjenis=“action”(film) pada tabel film sebagai berikut :

kode_film jenis judul jml_keping jml_filmA01 action Spiderman 2 3A02 action Spiderman 2 2 5D01 drama Love Story 1 3H01 horor Evil Death 3 2

Page 6: Materi 8 aljabar relasional

Operasi Selection (lanj)6

Hasilnya : suatu relasi dengan tuple-tuple yang memiliki jenis sama dengan action.

kode_film jenis judul jml_keping jml_filmA01 action Spiderman 2 3A02 action Spiderman 2 2 5

Page 7: Materi 8 aljabar relasional

Operasi Projection ()7

Operasi yang digunakan untuk memilih subset dari kolom-kolom pada suatu tabel

Notasi : A1,A2,…,An(t), dimana A1, A2, …, An adalah daftar nama atribut dan t adalah nama suatu tabel.

Hasilnya : suatu tabel dengan atribut yang tercantum pada daftar nama atribut pada operasi.

Page 8: Materi 8 aljabar relasional

Operasi Projection (lanj)

Contoh : dilakukan operasi kode_film, jenis, judul(film) pada tabel film sebagai berikut :

Hasilnya :

8

kode_film jenis judul jml_keping jml_filmA01 action Spiderman 2 3A02 action Spiderman 2 2 5D01 drama Love Story 2 3H01 horor Evil Death 2 2

kode_film jenis judulA01 action SpidermanA02 action Spiderman 2D01 drama Love StoryH01 horor Evil Death

Page 9: Materi 8 aljabar relasional

Operasi Union/Gabungan ()9

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.

Page 10: Materi 8 aljabar relasional

Operasi Union/Gabungan (lanj)

tabel r

A(r) A(s)

A B Caa 1 7

bb 5 7

bb 12 7

dd 23 10

10 tabel s

A B Caa 5 7cc 4 4dd 10 7aa 6 10

Aaabbddcc

Page 11: Materi 8 aljabar relasional

Operasi Intersection/Irisan ()11

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

r s

A Ba 1a 2b 1

A Ba 2b 3

A Ba 2

Page 12: Materi 8 aljabar relasional

Operasi Set Difference (–)12

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

A(r) - A(s)

A B Caa 1 7bb 5 7bb 12 7dd 23 10

tabel s

Abb

A B Caa 5 7cc 4 4dd 10 7aa 6 10

Page 13: Materi 8 aljabar relasional

Operasi Cross/Cartesian-Product13

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 Ba 1b 3

C Da 6b 5c 12

A B C Da 1 a 6a 1 b 5a 1 c 12b 3 a 6b 3 b 5b 3 c 12

Page 14: Materi 8 aljabar relasional

Komposisi Operasi-Operasi Relasional

14Operasi-operasi aljabar relasional dapat

digabungkan dengan ekspresi aljabar relasional lainnya.

Contoh : terdapat tabel film sebagai berikut :

kode_film jenis judul jml_keping jml_filmA01 action Spiderman 2 3A02 action Spiderman 2 2 5D01 drama Kabayan 2 3H01 horor Scream 2 2

Page 15: Materi 8 aljabar relasional

Komposisi Operasi-Operasi Relasional15

Tampilkan kode_film, judul dan jml_film dengan jml_film > 3, maka operasi komposisinya sebagai berikut :kode_film, judul, jml_film(σjml_film > 3(film))hasilnya :

kode_film judul jml_filmA02 Spiderman 2 5

Page 16: Materi 8 aljabar relasional

Operasi Join ( )16

Digunakan untuk menggabungkan dua tabel atau lebih dengan hasil berupa gabungan dari kolom-kolom yang berasal dari tabel-tabel tersebut.

tabel R tabel Ssid sname rating age22 dustin 7 45.031 lubber 8 55.558 rusty 10 35.0

sid bid day22 101 10/10/9658 103 11/12/96

Page 17: Materi 8 aljabar relasional

Operasi Join (lanj)17

Operasinya : R S sama dengan operasi σ(RxS), disebut juga Full Join.

Hasilnya :

sid sname 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

Page 18: Materi 8 aljabar relasional

Operasi Division (/)18

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 A secara keseluruhan dan tidak terdapat duplikasi data.

Page 19: Materi 8 aljabar relasional

Operasi Division (lanj)19

tabel R tabel S1 tabel S2

R/S1 R/S2

sno pnos1 p1s1 p2s1 p3s1 p4s2 p1s2 p2s3 p2s4 p2s4 p4

pno p2

snos1s2s3s4

pno p2p4

snos1s4

Page 20: Materi 8 aljabar relasional

Operasi SUM, AVERAGE, MIN, MAX, COUNT

20

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.

Page 21: Materi 8 aljabar relasional

Studi Kasus21

nonasabah namanasabah namacabang jumlahL-001 Anggi Peunayong 3000

L-052 Priyanto PekanBada 4500

L-125 Susillo Lamdingin 7000

nonasabah namanasabah jumlahL-081 Abidin 7500

L-052 Priyanto 5000

L-175 Suryo 1200

Table Peminjam

Table Penabung

Page 22: Materi 8 aljabar relasional

Studi Kasus22

Tampilkan semua dengan jumlah uang pinjaman di bawah 5000

Tampilkan namanasabah dan namacabang daari tabel peminjam

Tampilkan nonasabah untuk setiap jumlah peminjaman lebih besar dari 4000

Tampilkan semua namanasabah yang memiliki pinjaman atau tabungan dari bank

Page 23: Materi 8 aljabar relasional

Studi Kasus23

Tampilkan semua namanasabah yang memiliki pinjaman dan tabungan dari bank

Tampilkan nonasabah, namanasabah, dan jumlah dari tabel peminjam dan penabung dimana jumlah dari pinjaman dan tabungan lebih besar dari 2500