Blog Zuroida

Jumat, 28 November 2014

Aljabar Relasional

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.
Operasi – operasi turunan dari operasi-operasi dasar :
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