Materi 12
Materi 12
Aljabar Relasional
(Relational Algebra)
Aljabar Relasional (Bahasa Prosedural)
• Kumpulan operasi terhadap relasi, dimana setiap operasi menggunakan
satu atau lebih relasi untuk menghasilkan satu relasi 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
Jenis Operasi
• Operasi Unary terdiri dari selection, projection. Disebut operasi
unary, karena dapat digunakan hanya pada satu relasi.
• Operasi Binary terdiri dari union, intersection, set difference,
cartesian product, join dan division. Disebut operasi binary, karena
memerlukan sepasang relasi.
kelompokfilm
jenis harga_sew
a
action 3000
dram 3500
a
horor
film 3000
kode_film jenis judul jml_kepin jml_film
g
A01 action Spiderman 2 3
A02 action Spiderman 2 5
2
D01 dram Love Story 2 3
a
Operasi Selection (σ)
• Operasi yang digunakan untuk memilih subset dari tuple-tuple pada suatu relasi.
• Notasi : σp(r)
• 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 relasi film sebagai berikut :
• Relasi r Relasi s
A B C 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
• pA(r) pA(s) A
aa
bb
dd
cc
Operasi Intersection/Irisan ()
• Notasi : r s, menghasilkan suatu relasi baru dengan elemen barisnya merupakan elemen yang
terdapat pada relasi r dan elemen tersebut juga terdapat pada relasi s, tidak ada duplikasi data. r
dan s harus memiliki jumlah atribut yang sama.
• Relasi r Relasi s
A B A B
a 1 a 2
a 2 b 3
b 1
• rs
A B
a 2
Operasi Set Difference (–)
• Notasi r – s, hasilnya relasi yang elemen barisnya terdapat
pada r tetapi tidak terdapat di s. r dan s harus memiliki
jumlah atribut yang sama.
• Relasi r Relasi s
A B C A B C
aa 1 7 aa 1 7
bb 5 7 cc 5 7
bb 12 7 dd 12 7
dd 23 10 aa 23 10
• pA(r) - pA(s)
A
bb
Operasi Cross/Cartesian-Product
• Notasi r x s, menghasilkan semua kombinasi baris/tuple dari 2 buah relasi, yaitu relasi r dan s.
Jumlah atribut tidak harus sama. Contoh :
• Relasi r : maka r x s :
A B
a 1 A B C D
b 3 a 1 a 6
• Relasi s :
a 1 b 5
C D
a 1 c 12
a 6 b 3 a 6
b 5
b 3 b 5
c 12 b 3 c 12
Komposisi Operasi-Operasi Relasional
• Jika ingin memperoleh relasi baru dengan atribut 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 judul jml_film
A02 Spiderman 5
2
Operasi Join ( )
• Digunakan untuk menggabungkan dua relasi atau lebih dengan hasil
berupa gabungan dari kolom-kolom yang berasal dari relasi-relasi
tersebut.
• Relasi R Relasi S
sid snam rating age
e sid bid day
22 dustin 7 45. 22 10 10/10/9
0 1 6
31 lubber 8 55. 58 10 11/12/9
5 3 6
58 rusty 10 35.
0
Operasi Join (lanj)
• Operasinya : R S sama dengan operasi σ(RxS),
disebut juga Full Join.
• Hasilnya :
sid snam rating age sid bid day
e
22 dustin 7 45. 22 101 10/10/9
0 6
22 dustin 7 45. 58 103 11/12/9
0 6
31 lubber 8 55. 22 101 10/10/9
5 6
31 lubber 8 55. 58 103 11/12/9
5 6
Condition Join/Theta Join
• Menghasilkan suatu relasi gabungan yang memiliki
tupel-tupel sesuai dengan kondisi kondisi yang
telah ditentukan.
• R cS sama dengan operasi σc(RxS), dengan
c=condition.
• Kondisi join : =, >, <, <>, >=, <=
• Relasi R Relasi S
sid snam rating age sid bid day
e
22 10 10/10/9
22 dustin 7 45. 1 6
0
58 10 11/12/9
31 lubber 8 55. 3 6
5
Condition Join/Theta Join (lanj)
• Operasinya : R R.sid<S.sid S
• Hasilnya :