Query Language

Bahasa query (Query language) adalah bahasa khusus yang du=igunakan untuk melakukan query pada basis data.
Contoh :
Pada penggunaan Query SELECT ALL WHERE merk=”TOSHIBA” AND date=”30 Oktober 2012”. Query tersebut meminta semua record dari basis data yang sedang digunakan (misalkan basis data penjualan) yang bermerk Toshiba dan laku pada tanggal 30 Oktober 2012 ( merk dan date adalah nama field yang telah didefinisikan).

Bahasa Query dikelompokkan menjadi dua yaitu :
  1. Bahasa Prosedural, merupakan bahasa yang membuat suatu urut-urutan instruksi.  Termasuk didalamnya adalah aljabar relational.
  2. Bahasa Non Prosedural, merupakan bahasa yang hanya mendeskripsikan informasi yang diinginkan tanpa mendefinisikan instruksi/prosedur untuk memperoleh informasi. Termasuk didalamnya kalkulus relational.

ALJABAR RELATIONAL
Merupakan bahasa query yang didasarkan pada oerasi-operasi dalam aljabar relational (prosedural) yang terdiri dari beberapa operasi yang apabila masukannya terdiri dari beberapa atau satu relasi maka keluarannya adalah sebuah relasi baru dari operasi tersebut. Operasi-operasi yang terdapat pada aljabar relational adalah sebagai berikut :
  • Operasi Tunggal (Unary Operation) , disebut tunggal karena hanya beroperasi pada sebuah tabel atau relasi basis data saja, yaitu : select, project, dan resume.
  • Operasi biner (Binary Operation), yaitu suatu operasi biner yang beropasi pada sejumlah tabel atau relasi basis data, contohnya yaitu : cartesian product, union, set difference.

Penjelasan dari beberapa operasi :

1.       Selection
Operasi yang digunakan untuk memperoleh tupel-tupel dari suatu relasi yang memperoleh predikat tertentu. Yaitu AND atau OR. Simbol selection adalalah σ (sigma).
2.       Projection
merupakan operasi untuk memperoleh atribut-atribut tertentu dari suatu relasi. Simbol projection adalah π (pi).
3.       Cartesian-Product
merupakan operasi yang menghasilkan suatu relasi dari dua relasi yang terdiri dari kombinas tupel-tupel. Simbol cartesian-product adalah X (cross).
4.       Union
merupakan operasi yang membentuk suatu relasi yang terdiri dari tupel-tupel yang berada pada salah satu relasi atau pada kedua relasi. Simbol union adalah  U (gabungan).
5.       Set-Difference
merupakan operasi yang membentuk suatu relasi yang terdiri dari tupel-tupel yang berada pada relasi pertama dan tidak berada pada relasi kedua atau kedua-duanya. Simbol set-difference adalah - (minus).
6.       Cartesian product (x)
merupakan suatu operasi untuk menghasilkan tabel hasil perkalian kartesian. Sintaks yang digunakan dalam operasi proyeksi ini adalah sebagai berikut :
R X S = {(x,y) | xR dan yS} .
Operasi Cartesian product memungkinkan kita untuk mengkombinasikan informasi beberapa relasi, operasi ini adalah operasi biner. Sebagaimana sudah dinyatakan bahwa relasi adalah subset hasil cartesian product dan himpunan domain relasi-relasi tersebut. Kita harus memilih atribut-atribut untuk relasi yang dihasilkan dari cartesian product.
7.       Union ( )
merupakan operasi untuk menghasilkan gabungan tabel dengan syarat kedua tabel memiliki atribut yang sama, yaitu domain dari atribut ke-i masing-masing tabel harus sama. Operasi ini dapat dilaksanakan apabila R dan S mempunyai atribut yang sama sehingga jumlah komponennya sama. Sintaks yang digunakan dalam operasi union ini adalah :
R S = {x | xR atau X S}  .
8.       Set difference ( — )
merupakan operasi untuk mendapatkan tabel pada suatu relasi, tapi tidak ada pada relasi yang lainnya. Sintaks yang digunakan dalam operasi union ini adalah :
R – S = { x | xR dan X S}  .
Operasi ini dapat dilaksanakan apabila R dan S mempunyai atribut yang tidak sama yang akan ditampilkan, artinya adalah atribut R yang tidak ada di S akan ditampilkan, sedangkan atribut yang sama tidak ditampilkan.


KALKULUS RELATIONAL

Kalkulus relasional merupakan alternatif untuk aljabar relasional, dimana memungkinkan kita untuk menggambarkan himpunan jawaban tanpa menyatakan secara eksplisit bagaimana jawaban tersebut dihitung. Varian kalkulus yang disajikan secara detil disebut Tuple Relational Calculus (TRC) dimana pada TRC mengambil instan sebagai nilainya.


0 Responses