1. Bahasa Query Formal
Adalah bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis. Bahasa query formal merupakan bahasa yang dapat meminta informasi dari sebuah database tanpa harus memikirkan kerumitan algoritma pengambilannya, sehingga tidak seperti yang sering dijumpai dalam bahasa pemrograman konvensional. Contoh penggunaannya dalam basis data ialah SQL yang dikonversi menjadi bahasa query formal, sehingga didapatkan sekumpulan informasi untuk memperoleh query paling efisien. Bahasa query formal dibagi menjadi dua, yaitu:
1) Prosedural, yaitu
bahasa yang memampukan pemakai memberi spesifikasi data yang dibutuhkan dan bagaimana
cara mendapatkannya. Contoh:
a. Aljabar Relasional → Kumpulan
operasi terhadap relasi dimana setiap operasi menggunakan satu atau lebih
relasi untuk menghasilkan sebuah relasi baru. Query diekspresikan dengan menerapkan
operator tertentu terhadap suatu tabel atau relasi. Aljabar relasional
merupakan bahasa query prosedural
yang dapat menginstruksikan sistem komputer agar melakukan sederet operasi untuk
diperoleh hasil yang diinginkan. Karena termasuk kategori prosedural, aljabar
relasional tentu menyediakan seperangkat operator untuk memanipulasi data. Operasi
pada aljabar relasional dibagi menjadi dua, antara lain:
a) Operasi Tunggal (Unary Operation), adalah
operasi yang hanya memanfaatkan satu tabel saja. Ada lima operasi yang termasuk
dalam operasi tunggal:
- Select (Restrict)
- Adalah operasi yang memperoleh tuple-tuple dari suatu relasi yang memenuhi predikat tertentu.
- Simbol: σ (Sigma).
- Akan melibatkan:
- Operand: Konstanta/bilangan.
- Operator aritmatika: (>, <, =, ≤, ≥, dan ≠)
- Operator Logika: ˄ (and), ˅ (or), dan not.
- Predikat muncul sebagai subscript dari σ dan kondisi yang diinginkan yang ditulis dalam predikat. Argumen diberikan dalam tanda kurung yang mengikuti σ dan berisi tabel relasi yang dimaksud.
- Project
- Adalah operasi yang memperoleh atribut-atribut tertentu dari suatu relasi.
- Simbol: 𝝅 (Pi).
- Predikat muncul sebagai subscript dari 𝝅dan hanya menulis nama atribut yang diinginkan ke dalam predikat. Argumen diberikan dalam tanda kurung yang mengikuti 𝝅 dan berisi tabel relasi yang dimaksud.
- Cartesian Product
- Adalah operasi yang membentuk relasi dari dua relasi yang terdiri atas kombinasi tuple-tuple yang mungkin.
- Simbol: X (Cross).
- Union
- Adalah operasi yang membentuk relasi yang terdiri atas tuple-tuple yang ada dalam salah satu atau kedua relasi, dengan syarat:
- Jika ada relasi A dan B, jumlah atribut relasi A dan B harus sama.
- Domain dari atribut ke i dari A harus sama dengan domain dari atribut ke i dari B.
- Simbol: ∪ (Union).
- Operasi Union bernilai benar bila memenuhi dua kondisi, yaitu derajat dari dua tabel relasi yang dioperasikan harus sama dan domain dari atribut yang dioperasikan juga harus sama.
- Set Difference
- Berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel relasi, tapi tidak ada dalam tabel relasi lainnya.
- Simbol: ( - ).
b) Operasi Biner (Binary Operation), adalah
operasi yang memanfaatkan beberapa tabel. Ada empat operasi yang termasuk dalam
operasi biner:
- Natural Join
- Adalah operasi yang membentuk relasi dari dua relasi yang terdiri atas kombinasi relasi-relasi yang mungkin.
- Simbol: X.
- Theta Join
- Adalah operasi yang membentuk relasi dari dua relasi yang terdiri atas kombinasi relasi-relasi yang mungkin dengan kondisi tertentu.
- Merupakan ekstensi dari Natural Join.
- Simbol: X
- 𝛳
- Intersection
- Berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel relasi dan juga ada dalam tabel relasi lainnya.
- Simbol: ∩.
- Division
- Berfungsi untuk query yang memasukkan frase “untuk semua/seluruh”.
- Simbol ( ÷ ).
2) Nonprosedural, yaitu
bahasa yang memampukan pemakai untuk memberi spesifikasi data yang dibutuhkan
tanpa memberi spesifikasi cara untuk mendapatkannya. Contoh:
a. Kalkulus Relasional → Bahasa query yang menjelaskan set tuple yang diinginkan dengan cara menjelaskan
predikat tuple yang diharapkan.
Dibagi menjadi dua:
a) Kalkulus Relasional Tuple, mendeskripsikan
informasi yang diinginkan tanpa memberi prosedur yang mendetail dalam mendapatkan
informasi. Kalkulus relasional tuple
merupakan basis untuk bahasa query QUEL.
b) Kalkulus Relasional Domain, bahasa
ini menggunakan variabel domain yang mengambil nilai dari domain atribut, bukan
dari nilai seluruh tuple. Kalkulus
relasional domain merupakan basis untuk bahasa query QBE.
Bahasa Query Komersial
Adalah bahasa
query yang dirancang sendiri oleh programmer menjadi suatu program
aplikasi agar pemakai lebih mudah menggunakannya (user friendly). Ada tiga bahasa query
komersial, antara lain:
- QUEL → Berbasis pada bahasa kalkulus relasional..
- QBE → Berbasis pada bahasa kalkulus relasional.
- SQL → Berbasis pada bahasa kalkulus relasional dan aljabar relasional. Selengkapnya lihat di sini.
Sumber:
Amanda Linhan

No comments:
Post a Comment