Aljabar Relasional
Label : Simbol-simbol Aljabar Relasional
Query Procedural
- Beberapa query yang murni adalah aljabar relasional (relational algebra) yang merupakan bahasa query yang bersifat procedural.
- Aljabar Relasional merupakan bahasa query formal yang dipenuhi dengan aneka ekspresi matematis.
- Aljabar Relasional adalah sekumpulan query procedural yang terdiri dari sekumpulan operasi-operasi yang dimasukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah relasi atau tabel baru sebagai hasil dari operasi tersebut.
Simbol-simbol Aljabar Relasional
Aljabar Relasional memiliki simbol yang terdiri dari suatu perintah atau susunan perintah yang dijalankan pada satu atau lebih input relasi dan menghasilkan relasi atau tabel baru sebagai output.
Dalam simbol-simbol aljabar relasional terdapat 3 operasi, yaitu :
1. Operasi
Dasar
Ø Operasi Seleksi (Select)
Digunakan
untuk menyeleksi atau mencari record-record yang memenuhi predikat atau syarat
yang sudah ditentukan, kemudian hasilnya dituliskan pada relasi baru sebagai
hasil operasi select. Operasi select menggunakan simbol sigma (s), sedangkan predikat ditulis sebagai subscript
dari notasi tersebut.
Sintaks :
σp
(E1)
Dimana :
P adalah predikat pd atribut2 E1
E1 adalah tabel atau relasi
Diketahui relasi Suplier A sbb :
Misalkan untuk memilih atau mencari record-record dari tabel Suplier A
dimana S# adalah “S1” ditulis :
σ S# = “S1”, “Snama”, “Status”, “Skota” (Suplier
A)
Hasil dari query diatas adalah :
- Tanda kutip tunggal (‘) atau tanda kutip ganda (“) digunakan untuk mengapit sebuah konstanta teks.
- Hasil query tersebut juga berupa tabel, tetapi hanya berisi record-record yang memenuhi kondisi tersebut.
- Pada operasi select diperbolehkan menggunakan perbandingan, misalnya ; =, ¹, <, £, >, ≥ pada predikat dari operasi tersebut. Demikian juga halnya kombinasi dari beberapa predikat untuk membentuk predikat yang lebih kompleks dengan menggunakan notasi Ú atau Ù.
Ø Operasi Projeksi (Project)
Digunakan untuk memilih kolom atau atribut tertentu untuk
ditampilkan. Operasi ini beroperasi disebuah tabel, yaitu dengan membentuk tabel baru
dengan melengkapi atribut-atribut dan domain-domain dari tabel berdasarkan argumen-argumen
pada operator tersebut. Simbol yang digunakan operasi project adalah phi (π).
Sintaks :
πs
(E1)
Dimana :
S adalah
daftar (list) yang berisi satu atau lebih field yg ada di E1
E1 adalah tabel atau relasi
Misalkan untuk menampilkan seluruh Snama, Status,kota
tanpa S# dari relasi Suplier A ditulis :
πSnama, Status, Kota (Suplier A)
πSnama, Status, Kota (Suplier A)
Hasil dari query diatas adalah :
Ø Union
Operasi
penggabungan (union) dalam aljabar relasional sama halnya operasi union
pada aritmatika. Operasi ini memungkinkan untuk menggabungkan data dari dua baris (row)
yang sejenis. Simbol yang digunakan operasi union adalah (υ)
Contoh operasi Union pada aritmatika adalah :
Misalkan :
A = {1, 2, 3}
B = {3, 5, 7}
A υ B = {1, 2, 3, 5, 7}
Sintaks yang digunakan adalah : E1 υ E2.
Dimana E1 dan E2 adalah relasi atau tabel.
Jika diketahui Tabel Suplier A dan B sbb :
Untuk menampilkan tabel Suplier A dan B dimana adalah
“Snama”, “Kota” ditulis :
π Snama, Kota (Suplier A) υ π Snama, Kota (Suplier B)
Ø Set Difference
Operasi pengurangan himpunan (set difference)
digunakan untuk menemukan record-record yang berada pada satu tabel tetapi
tidak pada tabel lainnya. Operasi
ini dalam aljabar relasional sama halnya operasi pengurangan himpunan pada
aritmatika. Simbol yang digunakan set difference adalah(-).
Contoh operasi pada aritmatika adalah :
Misalkan :
A = {1, 2,
3}
B = {3, 5,
7}
A - B = {1, 2}
Sintaks yang digunakan adalah : E1 - E2.
Dimana E1 dan E2 adalah relasi atau tabel.
Misalkan untuk menemukan Snama (A minus B) ditulis :
πSnama, Kota (Suplier A) - π Snama, Kota (Suplier B)
Hasil dari query diatas adalah :
πSnama, Kota (Suplier A) - π Snama, Kota (Suplier B)
Hasil dari query diatas adalah :
Misalkan untuk menemukan Snama (B minus A) ditulis :
πSnama, Kota (Suplier B) - π Snama, Kota (Suplier A)
Hasil dari query diatas adalah :
πSnama, Kota (Suplier B) - π Snama, Kota (Suplier A)
Hasil dari query diatas adalah :
Ø Division/Quotient
· Simbol
: E1 ∕ E2
·
Syarat
: jika k1 aritas E1 dan k2 aritas E2, maka k1 > k2 dan k2 ≠ 0
·
“Semua
tuple-tuple misal t dengan aritas k1- k2, dimana jika E1 mengandung semua tuple
dengan aritas k1 maka t ádalah anggota E1”
·
Contoh
:
E1 E2 E1/E2
Nama
|
Cabang
|
Cabang
|
Nama
|
||
x
|
Y
|
y
|
x
|
||
z
|
Y
|
s
|
z
|
||
d
|
R
|
f
|
|||
f
|
S
|
Ø Rename
·
Simbol : ρx (E1)
·
“Memberi
nama baru E1 dengan X, sehingga seakan-akan dimiliki 2 relasi (E1 dan X) yang
isinya sama persis”
2. Operasi
Tambahan
Ø Set Intersection
Operasi irisan himpunan (set intersection)
digunakan untuk mendapatkan irisan (kesamaan anggota) dari dua buah kelompok
data dari suatu tabel atau hasil query. Simbol yang digunakan set intersection adalah (∩ ).
Misalkan :
A = {1, 2,
3}
B = {3, 5,
7}
A ∩ B = {3}
Sintaks yang digunakan adalah : E1 ∩ E2.
Dimana E1 dan E2 adalah relasi atau tabel.
Misalkan untuk menemukan Snama, Kota (A irisan B) ditulis
:
πSnama, Kota (Suplier A) ∩ π Snama, Kota (Suplier B)
Hasil dari query diatas adalah :
πSnama, Kota (Suplier A) ∩ π Snama, Kota (Suplier B)
Hasil dari query diatas adalah :
Ø Cartesian Product
Digunakan untuk merelasikan semua record-record
yang berasal dari dua tabel. Tabel suplier A dan B dinyatakan dengan A X B adalah
himpunan semua elemen atau record yang dibentuk dari anggota Suplier A
sebagai elemen pertama dan anggota Suplier B.
Simbol yang digunakan cartesian product adalah (X).
·
Operasi
cartesian product umumnya tidak berdiri sendiri tetapi digunakan bersama
dengan operasi lainnya seperti select dan project.
·
Semua
record E1 akan dipasangkan dengan semua record E2.
·
Operasi
ini bersifat komutatif yaitu : E1 X E2 akan sama dengan E2 X E1.
·
Contoh
operasi pada aritmatika adalah :
A = {1, 2, 3}
B = {5,7}
A X B =
{(1,5), (1,7), (2,5), (2,7), (3,5), (3,7)}
Jika diketahui ada
query π Y, Z, W
(σ a.x = b.x
(axb))
Jika diketahui ada
query π Y, Z, W (σ a.x = b.x (axb))
Ø Natural Join
·
Simbol : E1 ∞ E2
·
Syarat : dilakukan jika kedua relasi
memiliki satu atau lebih atribut sekutu
·
“Semua tuple-tuple dalam E1xE2 yang
mempunyai nilai sama pada atribut sekutu”
·
Kolom
atribut sekutu bersifat tunggal(diambil salah satu)
·
Contoh
:
E1 E2
A
|
B
|
C
|
B
|
C
|
D
|
||
a
|
b
|
C
|
b
|
c
|
d
|
||
d
|
b
|
C
|
b
|
c
|
z
|
||
c
|
a
|
D
|
b
|
d
|
x
|
||
f
|
b
|
H
|
E1 ∞ E2 =
A
|
B
|
C
|
D
|
a
|
b
|
C
|
d
|
a
|
b
|
C
|
z
|
d
|
b
|
C
|
d
|
d
|
b
|
C
|
z
|
Ø Join Theta
·
Simbol : E1 ∞ E2
iθj
·
θ
merupakan operator
·
“Kumpulan tuple-tuple E1xE2 yang nilai
atribut i memenuhi relasi θ terhadap nilai atribut j”
·
contoh :
E1
: E2 :
A
|
B
|
C
|
D
|
E
|
|
1
|
2
|
A
|
3
|
1
|
|
4
|
5
|
B
|
6
|
2
|
|
8
|
2
|
C
|
E1
∞ E2
A<D
A
|
B
|
C
|
D
|
E
|
1
|
2
|
A
|
3
|
1
|
1
|
2
|
A
|
6
|
2
|
4
|
5
|
B
|
6
|
2
|
3. Extended
Operations
·
Generalized projection (∏)
·
Agregates function (g)
·
Other join
Label: Mata Kuliah