Slide IST 102 6 Relational Algebra

Sistem Basis Data
Pertemuan 6
Relational Algebra

AER – 2011/2012

Universitas Pembangunan Jaya –
SIF_TIF

1

Tujuan Pertemuan
• Mahasiswa memahami prinsip dasar
relational algebra.
• Mahasiswa mampu menggunakan operator
selection, projection.
• Mahasiswa mampu menggunakan operator
product, theta-join, natural join & renaming.
• Mahasiswa mampu membuat complex
expressions pada relational algebra.
• Mahasiswa akan mampu membuat bahasa

query formal berupa relational algebra.
AER – 2011/2012

Universitas Pembangunan Jaya –
SIF_TIF

2

Algebra
• Algebra adalah sistem
matematika yang terdiri dari:
– Operands  variabel atau nilai
dimana nilai baru akan terbentuk
darinya.
– Operators  Simbol yang
menyatakan prosedur
pembentukan nilai baru dari nilainilai yang diberikan (pada
operands)

AER – 2011/2012


Universitas Pembangunan Jaya –
SIF_TIF

SIF1213 - 3

Relational Algebra
• Relational Algebra adalah:
– Suatu algebra dimana operands –nya
adalah relasi-relasi atau variabel-variabel
yang merepresentasikan relasi-relasi.
– Menggunakan operators yang didisain untuk
melakukan hal-hal yang paling umum yang
perlu kita lakukan terhadap relasi-relasi
pada suatu database.
• Hasilnya adalah suatu algebra yang dapat
digunakan sebagai bahasa query (query
language) pada relasi-relasi.
AER – 2011/2012


Universitas Pembangunan Jaya –
SIF_TIF

SIF1213 - 4

Core (Inti) Relational
Algebra
• Union, intersection, dan difference.
– Set operasi biasa, tapi dua operand yang
digunakan harus memiliki skema relasi yang
sama.

• Selection: Pemilihan baris (tuples) data
tertentu.
• Projection: Pemilihan kolom (attributes)
data tertentu.
• Products dan joins: Komposisi relasi.
• Renaming terhadap relasi dan attributes.
AER – 2011/2012


Universitas Pembangunan Jaya –
SIF_TIF

SIF1213 - 5

Selection (σ / theta)
R1 := σC (R2)
– C adalah kondisi (seperti dalam statement “if ”) yang
me-refer pada atributes -nya R2.
– R1 adalah tuples dari R2 yang memenuhi kondisi
yang ditetapkan di C.

• Contoh:

bar

bee
r

pric

e

Relasi Sells: Joe’

Bud
2.5
s
Mille
0
Joe’ r
2.7
bar bee
s
Bud
5
r
Sue’ Mille
2,5
s
r

0
Joe’s Bud
JoeMenu := σSue’
bar=“Joe’s”(Sells):
3.0
Joe’s Mille
Universitas Pembangunan Jaya –
AER – 2011/2012
s
0 SIF_TIF
r

pric
e
2.50
2.75
SIF1213 - 6

Projection (π / Pi)
• R1 := πL (R2)

• L adalah daftar attributes dari skema relasi R2.
• R1 dibentuk dengan melihat setiap tuple pada R2,
ekstraksi atribut pada daftar L (sesuai urutan pada daftar),
dan dibuat tuple untuk R1 dari komponen tersebut.
• Eliminasi tuples yang duplikat, jika ada.
• Contoh:

bar

bee
r

pric
e

Relasi Sells: Joe’

Bud
2.5
s

Mille
0
bee pric
Joe’ r
2.7
r
e
s
Bud
5
Bud
2.50
Sue’ Mille
2,5
Mille 2.75
Prices := sπbeer,price
r (Sells) 0:
r
3.00
Sue’

3.0 Pembangunan
Universitas
Jaya

AER – 2011/2012
SIF_TIF
Mille
s
0

SIF1213 - 7

Projection Lanjutan
• Dengan menggunakan operator πL yang sama,
dimungkinkan untuk daftar L berisi ekspresi yang
melibatkan attributes:
– Arithmetic terhadap attributes,
Contoh; A+B->C.

– Melakukan duplikasi kemunculan attribute yang sama,

A+B->C,A,A

R=(

A

B

1
3

2
4

AER – 2011/2012

C A1 A2
π
) A+B->C,A,A (R) =
3

7

Universitas Pembangunan Jaya –
SIF_TIF

1
3

1
3

SIF1213 - 8

Product (X)
• R3 := R1 Χ R2
• Pasangkan tiap tuple t1 (dari R1) dengan tiap tuple t2 (dari R2)
• Rentetan/Penggabungan t1t2 tersebut merupakan tuple dari R3
• Skema dari R3 merupakan atribute2 dari R1 dan kemudian R2, secara
berurutan.
• Hati2 dengan attribute yang memiliki nama sama di R1 dan R2; misal
attribute A terdapat di R1 maupun R2, maka gunakan: R1.A dan R2.A

R3 = (

• Contoh: R3 := R1 X R2

R1 = (

A
1
3

B R2 =) (
2
4

B

C

5
7
9

6
8
10

)

.
AER – 2011/2012

Universitas Pembangunan Jaya –
SIF_TIF

A
1
1
1
3
3
3

R1. R2.
B
B
2
2
2
4
4
4

5
7
9
5
7
9

C
6
8
10
6
8
10

SIF1213 - 9

Theta–join (⋈C)
R3 := R1 ⋈C R2
– Lakukan product R1 Χ R2,
– Kemudian aplikasikan σC untuk mendapatkan hasil.
– C adalah kondisi yang memiliki nilai boolean.
• Operator yang boleh digunakan A  B, dimana  is =,