BAHASA QUERY FORMAL
Bahasa query formal basis data relasional adalah bahasa untuk meminta informasi dari basis data.
Bahasa query relasional formal merupakan bahasa antara yang digunakan basis data, yaitu SQL dikonversi menjadi bahasa relasional formal sehingga dapat diterapkan sekumpulan informasi untuk memperoleh query paling efisien
Terdapat dua jenis bahasa query relasional formal yang utama, yaitu:
1. Aljabar relasional.
2. Kalkulus relasional
aljabar relasional merupakan kumpulan operasi terhadap relasi dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru dan termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.
Kalkulus relasional tupel adalah bahasa query yang non prosedural. Bahasa ini mendeskripsikan informasi yang diinginkan tanpa memberi prosedurnya secara detil untuk mendapatkan informasi tersebut. Kalkulus relasional tupel merupakan basis untuk bahasa query QUEL.
Sebuah query dalam bahasa ini ditulis :
{ t | P(t) }
artinya, semua tuple t sedemikian sehingga predikat P adalah benar untuk t. Dengan mengikuti notasi terdahulu, kita gunakan t[A] untuk menyatakan nilai tuple t pada atribut A, dan t ∈ r untuk menyatakan bahwa tuple t berada dalam relasi r.
Dalam kalkulus relasional ada 2 notasi yang penting, yang pertama adalah “terdapat beberapa (there exists)” yang ditulis :
∃ t ∈ r ( Q(t) )
artinya, terdapat beberapa tuple t anggota relasi r sedemikian sehingga bahwa predikat Q(t) adalah benar.
Yang kedua adalah “untuk seluruh (for all)” yang ditulis :
∀ t ∈ r ( Q(t) )
artinya, untuk seluruh tupel t anggota relasi r sedemikian sehingga bahwa predikat Q(t) adalah benar.
Kalkulus Relasional Domain
Kalkulus relasional domain juga adalah bahasa query yang non prosedural dan karenanya berhubungan dekat dengan kalkulus relasional tupel. Berbeda dengan kalkulus relasional tupel, bahasa ini menggunakan variabel domain yang mengambil nilai dari domain atribut, bukan dari nilai seluruh tupel. Kalkulus relasional domain merupakan basis untuk bahasa query QBE.
Sebuah ekspresi dalam kalkulus relasional domain adalah berbentuk :
{ < x1, x2, . . . , xn > | P(x1, x2, . . . , xn) }
dimana x1, x2, . . . , xn merepresentasikan variabel-variabel domain. P merepresentasikan sebuah formula yang terdiri dari atom-atom. Sebuah atom dalam kalkulus relasional domain dapat berupa salah satu dari bentuk berikut ini :
– < x1, x2, . . . , xn > ∈ r, dimana r adalah relasi dengan n atribut dan x1, x2, . . . , xn adalah variabel domain atau konstanta domain.
– x ϴ y, dimana x dan y adalah variabel domain dan ϴ adalah operator relasional (≤, <, =, ≠, >, ≥). Kita membutuhkan atribut x dan y mempunyai domain yang bisa diperbandingkan dengan ϴ.
– x ϴ c, dimana x adalah variabel domain, ϴ adalah operator relasional, dan c adalah sebuah konstanta.
Dalam kalkulus relasional domain, seperti halnya dalam kalkulus relasional tupel, kita juga menggunakan notasi “terdapat beberapa (there exists)” dilambangkan dengan “∃” dan “untuk seluruh (for all)” dilambangkan dengan “∀”.
Tidak ada komentar:
Posting Komentar