Aljabar relasional
adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan operasi
dimana masukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah
relasi baru sebagai hasil dari operasi tersebut
Operasi-operasi
dasar dalam aljabar relasional :
1. Selection ( σ )
Untuk menyeleksi tupel-tupel yang memenuhi predikat
yang diberikan dari sebuah tabel relasi.
2. Projection ( π )
Untuk memilih nilai atribut-atribut tertentu saja
dari sebuah tabel relasi.
3. Cartesian – product ( X, juga disebut sebagai
cross product )
Untuk mengkombinasikan informasi yang ada dalam 2
tabel relasi dan menghasilkan sebuah tabel relasi yang baru.
4. Union ( ∪ )
Untuk mendapatkan gabungan nilai atribut dari sebuah
tabel relasi dengan nilai atribut dari tabel relasi lainnya.
5. Set – difference ( - )
Untuk mendapatkan nilai yang ada dalam sebuah tabel
relasi, tapi tidak ada dalam tabel relasi lainnya.
6. Rename ( ρ )
Untuk menyalin tabel lama kedalam tabel yang baru.
1. Set intersection ( ∩ )
Untuk
mendapatkan nilai yang ada dalam sebuah tabel relasi dan juga ada dalam tabel
relasi lainnya.
2. Theta-join ( θ )
Untuk
mengkombinasikan tupel dari 2 tabel relasi dimana kondisi dari kombinasi
tersebut tidak hanya kesamaan nilai dari 2 atribut bernama sama, tetapi kondisi
yang diinginkan juga bisa menggunakan operator relasional (≤, <, =, >,
≥). Operasi theta join merupakan ekstensi dari natural join.
3. Natural-join
(⋈
)
Untuk
menggabungkan operasi select dan cartesian product menjadi hanya 1 operasi
saja.
4.
Outer-join
Untuk
menggabungkan operasi selection dan cartesian-product dengan suatu
kriteria pada kolom yang sama.
5. Division ( ÷ )
Untuk
query yang memasukkan frase “untuk semua/seluruh”.
Semua
operasi tersebut menghasilkan relasi baru. Bahasa disebut aljabar relasional
karena bahasa berdasar sejumlah operator
yang beroperasi pada relasi – relasi (tabel – tabel). Masing – masing operator beroperasi pada satu relasi atau lebih atau
menghasilkan relasi – relasi lain sebagai hasil. Query adalah sekedar ekspresi
yang melibatkan operator – operator itu. Hasil ekspresi adalah relasi yaitu
jawaban terhadap query.
Pemrogram
menggunakan query SQL, DBMS menggunakan aljabar relasional sebagai bahasa
antara dalam spesifikasi algoritma query. Langkah – langkah dalam DBMS untuk pengolahan query adalah:
1. DBMS
melakukan parsing terhadap string dari query SQL dan menerjemahkannya menjadi
ekspresi aljabar relasional yang dapat menuntun kedalam algoritma sederhana
yang tidak efisien.
2. Setelah
itu, bagian query optimizer mengkonversi
ekspresi aljabar relasional ini menjadi ekspresi lain yang ekuivalen nemun
lebih efisien untuk dieksekusi.
3. Berdasarkan
ekpresi aljabar relasional yang telah dioptimasi, query optimizer mempersiapkan
rencana eksekusi query (query execution plan) yang kemudian ditransformasikan
menjadi kode yang dapat dieksekusi pembangkit kode di DBMS.
4. Karena ekspresi aljabar mempunyai semantik matematika
yang presisi maka sistem dapat memverifikasi ekuivalensi ekspresi yang dioptimasi yang dihasilkan dari manipulasi
ekpresi asal. Semantiks ini juga memungkinkan pembandingan rencana – rencana
evaluasi query yang berbeda.
Aljabar
relasional merupakan kunci pemahaman kerja internal DBMS relasional, pemahaman
aljabar relasional merupakan hal yang esensi dalam merancang query SQL yang
diolah secara efisien. Aljabar relasional banyak digunakan pada optimasi query dan pengolahan query
tersebar. Aljabar relasional mendefinisikan sekumpulan operator dan rumus untuk
memanipulasi himpunan data.
Tidak ada komentar:
Posting Komentar