Anda di halaman 1dari 6

ALJABAR RELASIONAL

Aljabar Relasional merupakan bahasa prosedural tingkat tinggi . Bahasa ini dipergunakan untuk
meminta DBMS membangun suatu relasi dari satu atau lebih relasi dalam database . Setiap operator
dari aljabar relasional mengambil satu atau dua relasi sebagai masukkan dan menghasilkan satu
relasi baru sebagai keluaran .

Pada dasarnya ada 8 macam operator yang dibagi dalam 2 kelompok . Menurut C . J . Date ,
pengelompokkan tersebut terbagi atas :
1. Operasi Tradisional / dasar :
- Union
- Intersection
- Difference
- Cartesian Product ( yang mengalami sedikit modifikasi untuk menyesuaikan bahwa
inputnya adalah tabel / relasi )
2. Operasi Relasional Khusus / Tambahan
- Select
- Project
- Join
- Devide
Sedangkan menurut Codd operator pengelompokkan tersebut adalah
1. Operasi Dasar
- Union
- Intersection
- Difference
- Project
- Select
2. Operasi Tambahan
- Join
- Cartesian Product
- Devide

Aljabar Relasional hal. 1


Dalam aljabar relasional keluaran dari setiap operasi adalah relasi lain . Ini merupakan sifat utama
dari aljabar relasional . Sebagai hasilnya dari sifat tersebut , maka memungkinkan kita dapat
melakukan proyeksi terhadap Union , Join dari dua seleksi , dsb .
Untuk memberikan ilustrasi yang lebih jelas terhadap operasi aljabar relasional , dapat dipakai
contoh yang sederhana dari 2 buah tabel R dan S sbb :

Relasi R Relasi S
A B C D E F
a b c b g A
d a f d a f
c b d

Operasi
1. UNION ( U )
Membangun suatu relasi yang terdiri dari tuple-tuple yang ada pada kedua atau salah satu
relasi . Union dari relasi R atau relasi S dituliskan R u S , yaitu kumpulan tuple yang ada di
dalam relasi R dan relasi S .

Dalam contoh dipakai operator union terhadap relasi dengan jumlah kolom yang sama agar
hasil operasinya mempunyai jumlah komponen yang sama .
Hasil operasi tersebut adalah :

G H I
a b c
RUS d a f
c b d
b g a

2. Difference ( – )
Membangun suatu relasi yang terdiri atas semua tuple yang ada di salah satu dan tidak
keduanya dari 2 relasi yang ditentukan .
Ditulis R – S .

Aljabar Relasional hal. 2


Hasil operasi tersebut adalah :

G H I
R–S d a f
c b d

3. INTERSECTION ( ∩ )
Membangun suatu relasi yang terdiri dari tuple-tuple yang sama dari kedua relasi ,
dinyatakan sebagai R ∩ S , mempunyai harga ekspresi sama dengan R – ( R – S ) .

Hasil operasi tersebut adalah :


G H I
d a f

4. CARTESIAN PRODUCT
Membangun suatu relasi dari dua relasi lain yang berisi semua kemungkinan kombinasi
masing-masing relasi , dituliskan R X S

Hasil operasi tersebut adalah :


A B C D E F
a b c b g a
a b c d a f
b a f b g a
b a f d a f
c b d b g a
c b d d a f

5. SELECT / RESTRICT ( σ )
Ekstraksi ( pengambilan ) tuple dari suatu relasi . Hasilnya berupa relasi . Dalam operasi
select maka formula ( ditandai dengan F ) akan melibatkan :
a. Operand : konstanta atau komponen bilangan
b. Operator pembanding aritmetik : < , = , > , ≤ , ≠ , ≥
c. Operator logikal : and ( ᴧ ) , ( v ) , not ( ̴ )
σ R adalah semua tuple yang diekstrak dari relasi R yang memenuhi formula F .

Aljabar Relasional hal. 3


Contoh :
- Memilih suplier yang mempunyai status > 20
σ status < 20 ( S )
- Memilih suplier yang tinggal di Paris .
σ city < 20 ( S )
- Mendapatkan suplier yang bernomor S2 .
σ Sn=’S2’ ( S )

6. PROJECT ( П )
Merupakan ekstraksi komponen ( atribut ) tertentu dari relasi , menghilangkan yang tidak
diperlukan , dan menyusunnya kembali menjadi relasi baru .

Contoh :
П A,C ( R ) , Artinya proyeksi atribut A dan C dari relasi R . Hasil operasi tersebut adalah :

a c
d f
c d

Contoh :
- Menampilkan nama suplier yang tinggal di Paris
П sname (σcity = ‘ Paris ‘ ( S ) )
- Menampilkan nama part yang bernomor P5
П pname (σPn = ‘ P5 ‘ ( P ) )

7. DEVIDE ( ÷ )
Membangun relasi dari dua relasi yaitu binary dan unary di mana relasi yang baru terdiri
dari nilai yang ada pada salah satu atribut dari relasi binary yang nilai atribut lainnya sama
dengan nilai atribut binary .
Ditulis dengan R ÷ S .

Aljabar Relasional hal. 4


R S R ÷ S
A B B A
a x x a
a y z
a z
b y
b x
c y

8. JOIN ( )
Membangun suatu relasi dari dua relasi yang terdiri dari semua kemungkinan kombinasi
tuple dari masing-masing dan setiap pasangan kombinasi tuple memenuhi kondisi yang
ditentukan .

Jenis-jenis join adalah


- Theta join
- Equi – join
- Natural join
- Outer join
- Semi join

Theta Join
Mendefinisikan sebuah relasi yang berisikan tuple-tuple yang memenuhi predikat F dari
cartesian product R dan S .
Predikat F merupakan bentuk dari R . ai ϴ S . bi .
ϴ : operator-operator pembanding ( < , <= , > , >= , = , ̴= )

Equi – join
+Adalah bentuk khusus theta join , dimana operator pembanding yang digunakan adalah = .

Natural Join ( )
Equi – join dari dua relasi R dan S yang memenuhi seluruh kemungkinan atribut X . Natural
join akan menghilangkan salah satu atribut yang sama .

Aljabar Relasional hal. 5


R S R S
A B B C A B C
a1 b1 b1 c1 a1 b1 c1

a2 b1 b2 c2 a2 b1 c1

a3 b2 b3 c3 a3 b2 c2

Outer Join

Sebuah join dimana tuple-tuple dari relasi R tidak mempunyai nilai yang cocok dengan
kolom-kolom relasi S merupakan relasi hasil .

Semi Join
Mendefinisikan relasi yang berisikan tuple-tuple dari R yang ikut berpartisipasi pada operasi
join antara R dan S .
Keuntungan semi join adalah mengurangi jumlah tuple yang dibutuhkan dalam menangani
pembentukan join .
Semi join dapat ditulis sbb :
R F S = ПA( R F S )

A : himpunan seluruh atribut R

Aljabar Relasional hal. 6

Anda mungkin juga menyukai