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 :
- Bahasa Prosedural, merupakan bahasa yang membuat suatu urut-urutan instruksi. Termasuk didalamnya adalah aljabar relational.
- 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) |
x∈R dan y∈S} .
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 | x∈R 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 | x∈R 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.