Query Language atau Contextual Query Language merupakan bahasa formal yang digunakan untuk merepresentassikan query ke system information retrieval seperti search engine, bibliographic, catalog, dan museum collection information.Query Language dirancang secara objektif agar query dapat mempermudah kita untuk membaca dan menulisnya, dan bahasanya dapat digunakan secara intuitive pada bahasa yang complex. Jika anda telah membuat tabel-tabel dan telah memasukkan banyak data dalam tabel tersebut, suatu ketika Anda menginginkan untuk mengetahui/mencari data tertentu. Hal ini dapat anda lakukan dengan membuka tabel, menelusuri data satu per satu, lalu membuat tabel baru untuk menyimpannya. Akan tetapi cara seperti ini sangat tidak efisien. Untuk kebutuhan tersebut, akan jauh lebih mudah jika anda menggunakan query untuk memenuhi permintaan data kita Pada dasarnya, query adalah merupakan bahasa untuk melakukan manipulasi terhadap database, yang telah distandarkan dan lebih dikenal dengan nama Structured Query Language (SQL). Query dibedakan menjadi 2, yaitu
1. Untuk membuat/mendefinisikan obyek-obyek database seperti membuat tabel, relasi dan sebagainya. Biasanya disebut dengan Data Definition Language (DDL)
2. Untuk memanipulasi data, yang biasanya dikenal dengan Data Manipulation Language (DML). Manipulasi data bisa berupa:
a. Menambah, mengubah atau menghapus data.
b. Pengambilan informasi yang diperlukan dari database, yang mana datanya diambil dari tabel maupun dari query sebelumnya
Ada beberapa cara dalam mengekspansi query pada CQL, proses pencarian hanya menggunakan 2 jenis query yaitu,Simple Queries
Simple query merupakan query yang tidak menggunakan karakter khusus seperti jenis query lainnya. Hanya terdiri dari satu atau lebih term. Jika terdapat karakter khusus didalam term maka cukup menambahkan karakter berupa tanda kutip (“). Query yang menggunakan tanda kutip (“) akan menampilkan dokumen dimana didalamnya terdapat query yang sama persis dengan query inputan (term yang ditampilkan terurut).
Contoh:
- Technology (Single Query)
- “Technology information”(Quote Query)
Boolean Queries
Boolean Query merupakan query yang banyak dipergunakan oleh mereka yang memiliki latar belakang ilmu komputer atau yang terbiasa mengakses sistem basis data (database) konvensional. Kelebihannya adalah query ini dapat merepresentasikan jenis pencarian yang tergolong kompleks karena memiliki simbol-simbol tambahan. Berikut adalah beberapa simbol penting yang kerap dipergunakan untuk membantu proses pencarian. Simbol pertama adalah kata OR (mengandung pengertian “atau” dalam bahasa Indonesia). Jika seseorang melakukan pencarian dengan query technology OR information maka search engine akan mencari seluruh dokumen yang mengandung kata technology, atau information, atau yang mengandung kedua kata tersebut.
Contoh: Technology or information.
Simbol berikutnya adalah AND, yang dapat diterjemahkan sebagai kata “dan” dalam bahasa Indonesia.
Contoh: Technology and information.
Search engine yang menerima masukan seperti itu akan mencari seluruh dokumen di Internet yang memuat dua buah kata, yaitu technology dan information didalamnya.
Contoh-contoh penggunaan Query :
1.
• Tampilkan semua customer yang memiliki account dan
loan di bank
select distinct customer-name
from borrower
where customer-name in
(select customer-name from depositor)
• Tampilkan semua customer yang memiliki loan tapi tidak
memiliki account
select distinct customer-name
from borrower
where customer-name not in
(select customer-name from depositor)
• Tampilkan semua customer yang memiliki
account dan loan di cabang Perryridge
select distinct customer-name
from borrower, loan
where borrower.loan-number =
loan.loan-number and branch-name =
“Perryridge” and (branch-name,
customer-name) in
(select branch-name, customer-name
from depositor, account
where depositor.account-number =
account.account-number)
3.
• “Tampilkan semua nama cabang yang memiliki
aset lebih besar dari semua cabang yang
berlokasi di Brooklyn.”
select branch-name
from branch
where assets > all
(select assets
from branch
where branch-city = ‘Brooklyn’)
4.
• Tampilkan semua customer yang memiliki account di seluruh
cabanga di Brooklyn.
select distinct S.customer-name
from depositor as S
where not exists (
(select branch-name
from branch
where branch-city = ‘Brooklyn’)
except
(select R.branch-name
from depositor as T, account as R
where T.account-number = R.account-number and
S.customer-name = T.customer-name))
• Perhatikan bahwa X – Y = Ø Û X Í Y
• Catatan: Query ini tidak dapat ditulis dengan menggunakan klausa =
all atau sejenisnya
5.
• “Tampilkan semua customer yang memiliki
setidaknya dua account di cabang Perryridge”
select distinct T.customer-name
from depositor T
where not unique
(select R.customer-name
from account, depositor as R
where T.customer-name = R.customer-name
and R.account-number = account.account-number
and account.branch-name = ‘Perryridge’)
6.
• “Tampilkan semua customer di cabang
Perryridge”
select customer-name
from all-customer
where branch-name = ‘Perryridge’
• Perhatikan klausa FROM, relasi yang dilibatkan
adalah view all-customer
7.
• “Tampilkan semua cabang dimana total deposit account
lebih besar dari rata-rata total deposit account di semua
cabang”
with branch-total (branch-name, value) as
select branch-name, sum (balance)
from account
group by branch-name
with branch-total-avg(value) as
select avg (value)
from branch-total
select branch-name
from branch-total, branch-total-avg
where branch-total.value >=
branch-total-avg.value
Semoga bermanfaat......^_^
kwekkwekkekwekwekwekwek
No comments:
Post a Comment