|
22
2.3 Aljabar Relasional dan Kalkulus Relasional
Aljabar
relasional adalah bahasa prosedural tingkat
tinggi
yang dapat digunakan
untuk
memberi
perintah
kepada
DBMS
bagaimana
membuat
relasi
baru
dari
satu
atau
lebih
relasi
pada
basis
data.
Sedangkan kalkulus
relasional
adalah
bahasa
nonprosedural
yang dapat digunakan
untuk
memformulasi definisi dari sebuah
relasi
dalam
istilah
dari
satu
atau
lebih
relasi
basis
data.
Bagaimanapun, secara
formal
aljabar
relasional
dan
kalkulus
relasional adalah
sama
satu
dengan
yang
lainnya:
untuk
setiap
ekspresi
dalam
aljbar,
ada
kesamaan
ekspresi
dalam
kalkulus
(begitu
juga sebaliknya).
2.3.1 Aljabar Relasional
Aljabar
relasional
adalah
bahasa
teoritis
dengan
operasi-operasi yang
bekerja pada satu atau
lebih relasi
untuk
mendefinisikan relasi
lainnya dengan
tanpa
mengubah
relasi aslinya
(Connolly dan
Begg, 2005,
p89).
Baik operand
maupun
hasilnya
merupakan relasi,
dan
juga
output
dari
satu
operasi
dapat
menjadi
input
operasi
yang
lain.
Hal
ini
memungkinkan ekspresi
pada
aljabar
relasional menjadi bertingkat, sama seperti operasi aritmatik bertingkat.
Ada banyak variasi dari operasi
yang termasuk ke dalam aljabar relasional.
Codd
(1972)
pada
awalnya
menawarkan
delapan
operasi,
namun
beberapa
yang
lainnya
telah
berkembang.
Lima
operasi
fundamental pada
aljabar
relasional adalah
Selection,
Projection,
Cartesian
Product,
Union,
dan
Set
difference. Sebagai tambahan ada juga operasi Join, Intersection, dan Division.
|