Anda di halaman 1dari 20

Aljabar Relasional (Relational Algebra)

Basis Data

Aljabar Relasional

Kumpulan operasi terhadap tabel, dimana setiap operasi menggunakan satu atau lebih tabel untuk menghasilkan satu tabel yang baru. Operasi-operasi Dasar :

selection projection Union intersection set difference cross/cartesian product join division

Operasi lainnya :

Jenis Operasi

Operasi Unary terdiri dari: Selection Projection Operasi Binary terdiri dari: Union Intersection set difference cartesian product join dan division
3

Operasi Selection ()

Operasi yang digunakan untuk memilih baris tertentu dari sebuah himpunan baris data (record) yang memenuhi kondisi dan membuang baris yang lain. 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 : =, , >, , <,

Operasi Selection (lanj)

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

kode_film
A01 A02 D01 H01

jenis
action action drama horor

judul
Spiderman Spiderman 2 Love Story Evil Death

jml_keping
2 2 1 3

jml_film
3 5 3 2

Hasilnya: ..

Operasi Projection (p)

Operasi yang digunakan untuk memilih memilih

kolom tertentu dari sebuah himpunan yang memenuhi kondisi dan membuang kolom yang lain. Notasi : pA1,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.

Operasi Projection (lanj)

Contoh : dilakukan operasi pkode_film, jenis, judul(film) pada tabel film sebagai berikut : kode_film A01 A02 D01 jenis action action drama judul Spiderman Spiderman 2 Love Story jml_keping 2 2 2 jml_film 3 5 3

H01

horor

Evil Death

Hasilnya : ..

Operasi Union/Gabungan ()

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.

Operasi Union/Gabungan (lanj)

tabel r
A aa bb bb dd B 1 5 12 23 C 7 7 7 10

tabel s
A aa cc dd B 5 4 10 C 7 4 7

aa

10

Hasil pA(r) pA(s)

Operasi Intersection/Irisan ()

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 a a b

B 1 2 1

A a b

B 2 3

Hasil r s

10

Operasi Set Difference ()

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 tabel s
A B 1 5 12 C 7 7 7 aa bb bb A aa cc dd aa B 5 4 10 6 C 7 4 7 10

dd

23

10

Hasil pA(r) - pA(s)


11

Operasi Cross/Cartesian-Product

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 : .

a
b

1
3

tabel s :

C a b c

D 6 5 12
12

Komposisi Operasi-Operasi Relasional

Operasi-operasi aljabar relasional dapat digabungkan dengan ekspresi aljabar relasional lainnya. Contoh : terdapat tabel film sebagai berikut :
kode_film A01 A02 D01 jenis action action judul Spiderman Spiderman 2 jml_keping 2 2 2 jml_film 3 5 3

drama Kabayan

H01

horor

Scream

13

Komposisi Operasi-Operasi Relasional

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 A02 judul Spiderman 2 jml_film 5

14

Operasi Join (

Digunakan untuk menggabungkan dua tabel atau lebih dengan hasil berupa gabungan dari kolom-kolom yang berasal dari tabeltabel tersebut. tabel R tabel S
sid 22 31 58 sname dustin lubber rusty rating 7 8 10 age 45.0 55.5 35.0 sid bid day

22
58

101
103

10/10/96
11/12/96

15

Operasi Join (lanj)

Operasinya : R S sama dengan operasi (RxS), disebut juga Full Join. Hasilnya :
sid sname 22 22 31 31 58 58 dustin dustin lubber lubber rusty rusty rating 7 7 8 8 10 10 age 45.0 45.0 55.5 55.5 35.0 35.0 sid 22 58 22 58 22 58 bid 101 103 101 103 101 103 day 10/10/96 11/12/96 10/10/96 11/12/96 10/10/96 11/12/96
16

Operasi Division (/)


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.

17

Operasi Division (lanj)

tabel R
sno s1 s1 s1 s1 pno p1 p2 p3 p4

tabel S1 tabel S2
pno p2 pno p2 p4

R/S1
sno

R/S2
sno s1 s4

s2
s2 s3 s4 s4

p1
p2 p2 p2 p4

s1
s2 s3 s4

18

Studi Kasus
Table Peminjam
nonasabah L-001 L-052 L-125 namanasabah Anggi Priyanto Susillo namacabang Peunayong PekanBada Lamdingin jumlah 3000 4500 7000

Table Penabung
nonasabah L-081 L-052 L-175 namanasabah Abidin Priyanto Suryo jumlah 7500 5000 1200
19

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 nonasabah, namanasabah, dan jumlah dari tabel peminjam dan penabung dimana jumlah dari pinjaman dan tabungan lebih besar dari 2500

20

Anda mungkin juga menyukai