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 =,
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 =,