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 :
- Dapatkan data semua mahasiswa
RETRIEVE(MAHASISWA.ALL)
- 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;
No comments:
Post a Comment