Aljabar
Relasional
Formal
Kalkulus
Bahasa Relasional
Query
Komersial SQL
3
• Bahasa Formal
Bahasa query yang diterjemahkan dengan menggunakan simbol-simbol
matematis
• Bahasa Komersial
Bahasa query yang dirancang sendiri oleh programmer menjadi suatu program
aplikasi agar pemakai lebih mudah menggunakannya (user friendly)
4
Bahasa Formal
Aljabar Relasional
Formal
Kalkulus Relasional
5
ALJABAR RELASIONAL
KALKULUS RELASIONAL
Bahasa Komersial
Aljabar Relasional /
Relational Algebra
ISI2J4 - Sistem Basis Data
Operator Dasar
1
• Seleksi
2
• Proyeksi
3
• Union (Gabungan)
4
• Minus/set difference
5
• Cartesian Product
11
Operator Tambahan
Natural Join
Theta Join
Division/Quotient
N-ary Join
12
SELECT
Contoh
• Tampilkan tupel2 yang memiliki atribut B = “b” dari tabel E1
• Maka
• σ( B=“b”)(E1)
15
Contoh
• Tampilkan tupel2 yang memiliki atribut B = “b” dan C = ‘‘c”
dari tabel E1
• Maka
• σ(B=”b” AND C = “c”)(E1)
16
Contoh
• Tampilkan tupel2 yang memiliki atribut B = “b” dari tabel E1
• Maka
• σB=’b’ (E1) Hasilnya :
17
Select
• Operasi SELECT σ adalah komutatif : sehingga,
σ<kondisi 1>(σ<kondisi 2>(R)) = σ<kondisi 2> (σ<kondisi 1> (R))
• Operasi select dapat di cascade dengan sembarang urutan :
σ<kondisi 1> (σ<kondisi 2> (σ<kondisi 3> (R))
= σ<kondisi 2> (σ<kondisi 3> (σ<kondisi 1> (R))
• Operasi SELECT cascade dapat diganti dengan sebuah seleksi
dengan disambung oleh semua kondisi menjadi
• σ<kondisi 1> (σ<kondisi 2> (σ<kondisi 3> (R)) =
σ<kondisi 1> AND <kondisi 2> AND <kondisi 3> (R)
18
• Ekivalen :
• σB=’b’(C = ‘c’) (E1)
• σC=’c’(B = ‘b’) (E1)
• σ(B=’b’) AND (C = ‘c’) (E1)
Ekivalen :
• σB=’b’ or C = ‘c’ (E1)
• σC=’c’ or b = ‘b’ (E1)
Note : σC=’c’ or b = ‘b’ (E1) tidak sama dengan σC=’c’ (b = ‘b’) (E1)
19
Proyeksi / Project
Contoh
Contoh
Contoh : dilakukan operasi pada relasi film sebagai berikut :
Contoh Proyeksi
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
Hasilnya :
a
kode_film jenis judul
H01 A01 horor Evil Death
action Spiderman 2 2
A02 action Spiderman
2
D01 dram Love Story
a
H01 horor Evil Death
25
RENAME
FILM
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
Salinlah tablea baru dengan nama FILM_FAVORIT,
H01
dimana hororadalah
jenisnya Evil Death
action 2 2
𝜌film_favorit(jenis= “action”)(FILM)
29
Union
Minus/Set Difference
Contoh
34
Contoh
35
Cartesian Product
Contoh :
Employees X Projects
37
Irisan / Intersection
Contoh
41
Contoh
42
JOIN
Join adalah salah satu dari operasi yang sulit untuk harus diterapkan secara
efektif di dalam suatu RDBMS .
Ada berbagai format Operasi Join, masing-masing dengan perbedaan
kesulitannya dipisahkan, tambahan lagi bermanfaat dibanding yang lain:
- Theta join (-join) - Equijoin - Natural join
- Outer join - Semijoin
43
Natural Join
Theta Join
Contoh : E1 ∞ E2
Kondisi : A < D
49
Contoh :
50
Division
Tabel R S2
S1
SNo PNo PNo PNo
S1 P1 P1 P1
S1 P2 P2
S3 P1
S4 P3 R ÷ S1 ?
S5 P4 R ÷ S2 ?
SNo SNo
S1 S1
S3
53
Ringkasan
56
Kalkulus Relasional
Tidak memberitahukan bagaimana me-retrieve suatu data, tetapi data apa yang
di-retrieve
57
Tuliskan formula untuk menampilkan Student ID, Nama Mhs, dan Nama Dosen dari tabel yg tersedia
sbb :