Anda di halaman 1dari 28

Materi 11

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 :

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
H01
• Hasilnya : suatu relasi horor yang
dengan tuple-tuple Evil Death 2 dengan action.
memiliki jenis sama 2
kode_film jenis judul jml_kepin jml_film
g
A01 action Spiderman 2 3
A02 action Spiderman 2 5
Operasi Projection (p)
• Operasi yang digunakan untuk memilih subset dari kolom-kolom pada
suatu tabel
• Notasi : pA1,A2,…,Ak(r), dimana A1, A2, …, Ak adalah daftar nama atribut
dan r adalah nama suatu relasi.
• Hasilnya : suatu relasi dengan atribut yang tercantum pada daftar
nama atribut pada operasi.
Operasi Projection (lanj)
• Contoh : dilakukan operasi pkode_film, jenis, judul(film) pada relasi film sebagai
berikut :
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
kode_film jenis judul
• Hasilnya
H01 : horor Evil Death 2 2
A01 action Spiderman
A02 action Spiderman
2
D01 dram Love Story
Operasi Union/Gabungan ()

• Operasi yang digunakan untuk menggabungkan hasil dari beberapa


query.
• Notasi : r  s, menghasilkan suatu relasi 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)

• 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
• rs

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

• Operasi-operasi aljabar relasional dapat digabungkan dengan ekspresi


aljabar relasional lainnya.
• Contoh : terdapat relasi film sebagai berikut :
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
H01 horor Evil Death 2 2
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 :

sid snam rating age sid bid day


e
22 dustin 7 45. 58 103 11/12/9
0 6
31 lubber 8 55. 58 103 11/12/9
• Kondisi join untuk operator = disebut
5 juga Equi Join.
6
Left Join
• Menghasilkan relasi dengan atribut terdiri dari gabungan atribut dari
dua relasi (misalnya relasi A dan B) yang meliputi semua tupel yang
ada pada relasi A dan juga hanya tupel-tupel pada relasi B yang sesuai
dengan tupel-tupel pada relasi A.
Right Join
• Menghasilkan relasi dengan atribut terdiri dari gabungan atribut dari
dua relasi (misalnya relasi A dan B) yang meliputi semua tupel yang
ada pada relasi B dan juga hanya tupel-tupel pada relasi A yang sesuai
dengan tupel-tupel pada relasi B.
Natural Join
• merupakan Equi Join dengan menghilangkan duplikasi atribut.
• Natural join dapat dibagi lagi menjadi natural left join dan natural
right join.
Natural Left Join
• Menghasilkan relasi dengan atribut terdiri dari gabungan atribut dari
dua relasi (misalnya relasi A dan B) yang meliputi semua tupel yang
ada pada relasi A dan juga hanya tupel-tupel pada relasi B yang sesuai
dengan tupel-tupel pada relasi A serta menghilangkan duplikasi
atribut.
Natural Right Join
• Menghasilkan relasi dengan atribut terdiri dari gabungan atribut dari
dua relasi (misalnya relasi A dan B) yang meliputi semua tupel yang
ada pada relasi B dan juga hanya tupel-tupel pada relasi A yang sesuai
dengan tupel-tupel pada relasi B serta menghilangkan duplikasi
atribut.
Operasi Division (/)
• Notasi : R/S.
• Menghasilkan suatu relasi dari dua buah relasi yang terdiri dari
atribut/kolom dari relasi R yang tidak terdapat pada relasi S dengan
tupel-tupel dari relasi R yang memiliki kesamaan dengan tupel-tupel
yang ada pada relasi A secara keseluruhan dan tidak terdapat
duplikasi data.
Operasi Division (lanj)
• Relasi R Relasi S1 Relasi S2

sn pno pno pno


o p2 p2
s1 p1 p4
s1 p2
s1 p3
R/S1
s1 p4
R/S2
sn sn
s2 p1 o o
s2 p2 s1 s1
s3 p2 s2 s4
s4 p2 s3
s4 p4
Operasi SUM, AVERAGE, MIN, MAX,
COUNT
• 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.

Anda mungkin juga menyukai