QUEL adalah Query Language dari DBMS
relasional INGRES, yang dikembangkan di University of California di Berkeley
dengan mengunakan sistem operasi UNIX. Bahasa ini dipergunakan secara berdiri
sendiri dengan menuliskan instruksi ke prosesor QUEL, atau disisipkan kedalam
bahasa pemrogram C. Didalam bahasa C, instruksi QUEL dimulai dengan tanda ##,
sehingga dapat diterima oleh prosesor.
QUEL dibagi atas :
1.
DDL
¨
CREATE : membuat
tabel
¨
INDEX : membuat indeks
¨
DEFINE VIEW : membuat view
¨
DESTROY : menghapus
tabel, indeks atau view
¨
MODIFY : merubah
struktur table/indeks
Contoh :
CREATE MAHASISWA(NPM=TEXT(8),
CREATE MAHASISWA(NPM=TEXT(8),
NAMA=TEXT(20),
ALAMAT=TEXT(30),
KOTA=TEXT(15),
JKEL=TEXT(1)
2.
DML
¨
RETRIEVE :
menampilkan data
¨
REPLACE : mengupdate data
¨
DELETE : menghapus record
¨
APPEND : memasukkan record
baru
Contoh :
1.
Dapatkan
data semua mahasiswa
RETRIEVE(MAHASISWA.ALL)
2.
Dapatkan
nama mata kuliah dan jumlah sks-nya untuk mata kuliah yang ber-sks 3 dari
relasi MKULMI
RETRIEVE(MKULMI.MTKUL, MKULMI.SKS) where
sks=’3’
Struktur dasar QUEL :
1.
Setiap
variabel tuple ditulis dalam range yaitu :
range of t is r
2.
Kalimat
retrieve memiliki fungsi sama dengan select pada SQL
3.
Kalimat
where berisi predikat yang ditentukan
4.
Bentuk query
QUEL :
range of t1 is r1
range of t2 is r2
:
:
range of tm is rm
retrieve (ti1.Aj1, ti2.Aj2, …,tim.Ajm)
where P
ti adalah variael tupel
ri adalah relasi
Ajm adalah atribut
P adalah predikat
5.
Tidak dapat
untuk melaksanakan operasi aljabar seperti intersection, union dan minus.
6.
Logik : AND,
OR dan NOT
7.
Fungsi
Statistik : COUNT, MAX, MIN, AVG, SUM
8.
Ekspresi
Aritmatik : >, <, <>, >=, <=
Contoh :
Diketahui skema tabel :
CUSTOMER (Cust_Name, Street, Cust_city)
BORROW (Branch_name, Location, Cust_name, Amount)
DEPOSIT (Branch_name, Account_name, Cust_name, Balance)
1.
Dapatkan
semua nama customer yang memiliki tabungan pada cabang perryride :
Range of t is Deposit
Retrieve (t.cust_name)
Where (t.branch_name = ‘Perryride’);
2.
Dapatkan
nama customer dan kota untuk semua customer yang memiliki pinjaman dari Bank Hermina
Range of s is Borrow
Range of t is Deposit
Retrieve (t.Cust_name, t.Cust_city);
3.
Hapus semua
tuper pada relasi Borrow
Range of t is Deposit
Delete t;
QUERY BY EXAMPLE
Kelebihan dari Query By Example adalah mempergunakan editor layar
khusus dan langsung dapat membuat query.
User dapat menggunakan atau memanggil tabel kosong dilayar untuk
diberi nama relasi, atribut dan instruksi yang diinginkan.
Perintah yang digunakan adalah :
P. (print) :
menampilkan data
I. (insert) : memasukkan record baru
D. (delete) :
menghapus record
U. (update) :
merubah record
Bagan Umum Tabel QBE :
Nama Relasi Nama Atribut
|
|
|
|
|
|
|
|
Contoh :
1.
Dapatkan
semua data mahasiswa
Mahasiswa
|
NPM
|
Nama
|
Alamat
|
Kota
|
Jkel
|
|
P.
|
P.
|
P.
|
P.
|
P.
|
2.
Dapatkan
semua nama dosen wanita yang bertempat tinggal di Depok
Dosen
|
NIP
|
Nama
|
Alamat
|
Kota
|
Jkel
|
|
|
P.
|
|
Depok
|
W
|
Atau menggunakan
condition box
Dosen
|
NIP
|
Nama
|
Alamat
|
Kota
|
Jkel
|
|
|
P.
|
|
_x
|
_y
|
CONDITION
|
_x="Depok" AND _y="W"
|
Keterangan :
_x : tanda
garis bawah menunjukan bahwa x variabel
3.
Dapatkan
nama dosen yang mengajar mata kuliah komunikasi data (gunakan relasi dosen dan
MKULMI).
Dosen
|
NIP
|
Nama
|
Alamat
|
Kota
|
Jkel
|
|
|
P.
|
|
_x
|
_y
|
MKULMI
|
KDMK
|
MTKUL
|
SKS
|
NIP
|
|
|
Komunikasi
Data
|
|
_x
|
4. Tampilkan
nama dan nilai Mid
MAHASISWA
|
NPM
|
NAMA
|
ALAMAT
|
KOTA
|
JKel
|
|
_x
|
P.
|
|
|
|
|
P. _x
|
P.
|
|
|
|
NILAI
|
NPM
|
KDMK
|
MID
|
FINAL
|
|
_x
|
|
P.
|
|
|
_x
|
|
P.
|
|
5. Merubah
nilai Mid menjadi 90 untuk Mahasiswa dengan NPM 11198111
NILAI
|
NPM
|
KDMK
|
MID
|
FINAL
|
|
11198111
|
|
U. 90
|
|
6. Menghapus
record Mahasiswa yang bertempat tinggal di Bogor
MAHASISWA
|
NPM
|
NAMA
|
ALAMAT
|
KOTA
|
JKel
|
|
D.
|
D.
|
D.
|
D. Bogor
|
D.
|