Basis Data
Pertem
Aljabar Relasional
noor.ifada@if.
1
Sub Pokok Bahasan
Formal Relational Query Languages
Operasi Dasar:
Unary
Binary
2
Formal Relational Query Languages
Query Language: digunakan untuk memanipulasi dan memperoleh data dari
suatu basisdata relasional
Bentuk matematis:
1. Relational Algebra: procedural (operational) language
2. Relational Calculus: declarative (non
(non-operational) language
Contoh riil:: SQL (Structured Query Language)
3
Operasi Dasar
Unary: melibatkan satu buah operand
Selection
Projection
Binary: melibatkan dua buah operand
Union
Intersection
Difference
Cartesian Product
4
Selection (σ)
Merupakan operasi pemilihan
(sekumpulan) baris yang
memenuhi suatu kondisi tertentu
dari suatu relasi (tabel)
Sintaks: σPredicate (R)
Predicate: kondisi yang ditentukan
R : relasi (tabel)
5
Selection (σ) (contd-2)
Soal: Buatlah daftar mahasiswa yang memiliki GPA lebih dari 8.0!
Query: σ GPA > 8.0 (STUDENT)
Hasil Query:
6
Projection (Π)
Merupakan operasi pemilihan
(sekumpulan) kolom tertentu
dari suatu relasi (tabel)
Sintaks: πa1,a2, … an (R)
a : attribute (kolom)
R : relasi (tabel)
7
Projection (Π) (contd-2)
Soal: Buatlah daftar nama dan gaji (salary) dari seluruh staf!
Query: π Name, Salary (STAFF)
Hasil Query:
8
Projection (Π) (contd-3)
Soal: Buatlah daftar nama dan tanggal lahir (date of birth) dari staf yang
memiliki gaji lebih besar dari 10,000!
Query: π Name, Date of birth (σ Salary > 10,000 (STAFF))
Hasil Query:
9
Union (U)
Operasi union antara dua relasi
R dan S menghasilkan sebuah
relasi yang memiliki seluruh
baris (tuple) dari R atau S atau
keduanya
Tidak ada duplikasi baris
Syarat: Union-compatible
(kedua relasi memiliki jumlah
kolom dan domain yang sama)
Sintaks: R U S
R, S : relasi (tabel)
10
Union (U) (contd-2)
Soal: Gabungkan data yang ada di Customer 1 dengan Customer 2!
Query: Customer 1 U Customer 2
Hasil Query:
11
Intersection (∩)
Operasi intersection antara dua
relasi R dan S menghasilkan
sebuah relasi yang seluruh baris
(tuple)-nya adalah baris yang
sama-sama dimiliki oleh kedua
relasi tersebut
Syarat: Union-compatible
Sintaks: R ∩ S
R, S : relasi (tabel)
12
Intersection (∩) (contd-2)
Soal: Tentukan interseksi antara data yang ada di Customer 1 dengan
Customer 2!
Query: Customer 1 ∩ Customer 2
Hasil Query:
13
Difference (─)
Operasi difference antara dua
relasi R dan S menghasilkan
sebuah relasi yang seluruh baris
(tuple)-nya adalah baris yang
ada di R namun tidak ada di S
Syarat: Union-compatible
Sintaks: R ─ S
R, S : relasi (tabel)
14
Difference (─) (contd-2)
Soal: Tentukan difference antara data yang ada di Customer 1 dengan
Customer 2!
Query: Customer 1 ─ Customer 2
Hasil Query:
15
Cartesian Product (X)
Nama lain: cross-product
Operasi cartesian product antara dua relasi R dan S “menggabungkan“ setiap
baris (tuple) yang ada di R dengan setiap baris (tuple) yang ada di S
Seluruh atrribute yang ada di kedua relasi akan dimiliki oleh hasil operasi
Sintaks: R X S
R, S : relasi (tabel)
Jika R memiliki baris sejumlah n1, dan S sejumlah n2, maka jumlah baris hasil
operasi R S = n1 * n2
16
Cartesian Product (X) (contd-2)
X =
Jumlah baris R X S = 2 * 3 = 6
Jumlah attribute R X S = 2
17