Catatan si Fajar Bagus..

Ketika Berbagi menghadirkan kebahagiaan…

Query Processing

 

 

Select nama from MAHASISWA where nim=‘113040331’;

Coba tebak, diatas itu baris kode apa, hayo? Ya, itu adalah kode SQL (Structured Query Language) untuk mengetahui nama mahasiswa yang nimnya 113040331. Nah, tahukan kamu bagaimana query itu bekerja? Bagaimana DBMS(Database Management System) mengeksekusi suatu query sehingga ia dapat menampilkan data yang kita inginkan?

Tapi sebelum itu kita buat asumsi dulu. Anggap DBMS yang kita pakai adalah ORACLE 10g. Sebelum hasil query itu ditampilkan, ada beberapa proses yang musti dilakukan. Proses apa aja sih? Ya banyak… ada Parsing, Translasi, Optimisasi, dan Evaluasi. Dan untuk lebih jelasnya bisa dilihat di gambar berikut.


Proses parsing dilakukan untuk meriksa sintaks query yang kamu tulis. Jadi, kalo ada kesalahan di sintaks, proses selanjutnya tidak akan dilakukan. Dan kamu akan mendapatkan peringatan dari DBMS. Selanjutnya kalo query kamu udah bener secara sintaks, maka query kamu akan di translasi menjadi aljabar relational. Kenapa musti dilakukan proses translasi? Hhmmm…. Kenapa, yach? Pernah ngebayangin ga kalo orang arab ngobrol sama orang jepang pake bahasa arab?(bayangin dulu sebentar…) Ya, pastilah si orang jepang ga akan ngerti. Karena itu harus ada yang menterjemahkan ke dalam bahasa jepang dulu. Ato bisa juga ngomong pake bahasa yang di ketahui sama dua orang itu, misalnya bahasa inggris. Trus hubungannya sama query itu apa? Sintaks SQL adalah bahasa pemograman tingkat tinggi. Karena bahasa tersebut bisa dimengerti oleh manusia. Karena itu sintaks SQL dirubah ke bahasa yang di mengerti oleh mesin. Nah, bahasa itu adalah Aljabar Relational.

Setelah dilakukan translasi, dilanjutkan dengan proses optimasi. Wah, bisa satu artikel sendiri nih kalo kita bahas proses optimasi sendiri. Tapi, kita coba untuk make it simple ajalah. Bagini sebenernya, dari satu query yang sama bisa di buat labih dari satu Aljabar Relational yang berbeda. Contohnya

sbalance<2500(Õbalance(account)) adalah ekivalen dengan

Õbalance(sbalance<2500(account))

Endari situ DBMS bakal dipilih mana yang bakal di eksekusi. Biasanya satu ekspresi Aljabar Relational yang terbentuk disebut dengan istilah Evaluation Plan(EP). EP ini bakal dihitung biaya(cost)-nya. Biaya ini diperoleh dari informasi statistik yang ada di Database Catalog. Ada banyak parameter biaya yang di perhitungkan. Misalnya banyaknya baris maupun blok di suatu relasi. Kalo querynya mudah seperti balok query diatas mungkin ga perlu terlalu lama di proses optimasi ini tapi kalo querynya kayak gini

select distinct a.nama,b.harga,c.nama

from produk a,pesanan b,bahan c, pemesan d,pemesanan e,bahan_baku_pesanan f

where f.kode_produk = a.kode_produk and f.kode_pesanan = b.kode_pesanan and f.kode_bahan = c.kode_bahan ;

wah, bisa repot kita. Apa lagi kalau jumlah barisnya ada jutaan…beetttt… karena itu proses ini jadi sangat penting di pemrosesan suatu query.

Setelah diperoleh evaluation plan, langkah selanjutnya adalah melakukan eksekusi plan tersebut dan mengambil data yang kita minta dari database. Setelah itu hasilnya akan ditampilkan di monitor.

Wah,itulah gambaran singkat dari bagaimana sebuah query itu diproses, sampai hasilnya bisa kita lihat. Buat temen-temen yang pengen tau lebih jauh tentang Database, dateng aja ke Lab Riset Basisdata di gedung A101(tapi ga lama lagi bakal pindah ke gedung F). Bravo, Database Go Public…..

Filed under: Tutorial

One Response

  1. aJOemOni mengatakan:

    saya tau jawaban dari query diatas!! Hehehe..

    Select nama from MAHASISWA
    where nim=‘113040066’ and sifat='gemar menabung'

    Klo yg ini jawabannya aJOemOni.. Hehkhekeh..

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

kategori

adds | stats | tools..

yang lagi mampir..


web submission
Submit Your Site To The Web's Top 50 Search Engines for Free!

terjemahkan ke bahasa


Toko Die Cast Jargus
Menjual diecast Hotwheels TH, Tomica, Kinsmart, Carrarama, dll
http://fajarbaguswp.multiply.com
 
Souvenia
Souvenir, Merchandise & Handycraft for wedding, promotion, & gift.
http://www.souvenia.com
Ads by Jargus


selamat datang, sobat..


Assalamualaikum...
Selamat datang di fajarbaguswp.wordpress.com
semoga blog ini bisa bermanfaat buat sobat yang berkunjung ke blog ini.

Silahkan sobat blogger mengambil sebagian atau seluruh isi dari blog saya ini asalkan mencantumkan link ke halaman yang diambil atau di kutip.



Mau link blog kamu ada di blog ini? Silahkan klik disini

jumlah kunjungan..

  • 465,155 dikunjungi
%d blogger menyukai ini: