Kamis, 20 Desember 2012

SUBQUERY, SQL, DAN OPTIMASI QUERY

haiii guys... jumpa lagi sama nha disini,,,sekarang nha mau bagi materi lagi nih..kali ini tentang"SUBQUERY, SQL, dan Optimasi Query"..
kalian tau apa itu subquery???

Pengertian Subquery

            Subquery merupakan statement SELECT yang dilampirkan sebagai klausa SQL statement yang lain. Dengan kata lain Subquery adalah query didalam query. Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu nilai yang tidak diketahui.
artinya dengan  memakai   subquery   kita   dapat    mempersingkat    perintah   dan    menggunakan    fungsi   logika  yang  lebih   mudah  dipahami  daripada  query  biasa. Subquery ini dapat diletakkan pada WHERE klausa, FROM klausa, dan SELECT klausa.
Adapun syntak penulisan subquery yaitu sebagai berikut:
SELECT select_list
FROM table
WHERE expr operator
(SELECT select_list
FROM table);
contoh:
misal dalam suatu database terdapat tabel "mahasiswa", "ambilMK", "makul". perintah untuk menampilkan nama dan nilai mahasiswa yang nilainya diatas rata-rata pada salah satu mata kuliah. Untuk menyelesaikan persoalan itu kita bisa menggunkan syntak berikut:
SELECT mahasiswa.nama, ambilMK.nilai FROM mahasiswa, ambilMK WHERE mahasiswa.NIM=ambilMK.NIM AND ambilMK.nilai > (SELECT avg(nilai) FROM ambilMK where kodeMK='M01');

Seperti yang sudah saya sebutkan tadi, yaitu mengenai peletakan subqueqy. subquery bisa diletakan pada WHERE klausa. WHERE klausa ini paling banyak digunakan, subquery ini disebut NESTED QUERY. kemudian yang kedua FROM query, subquery ini dinamakan INLINE VIEWES, dan yang ketiga SELECT klausa, subquery yang diletakkan pada SELECT klausa harus yang bersifat singel value.Oleh karena  itu Aggregate function seperti SUM, COUNT, MIN, MAX biasanya digunakan pada subquery jenis ini.

Structured Query Language (SQL)

      Structured Query Language (SQL) ini adalah sebuah bagian dari sejumlah DBMS, seperti MYSQL, Oracle, dan sebagainya. SQL ini dapat digunakan baik secara berdiri sendiri maupun diletakkan pada bahasa-bahasa lain, seperti C++, C,dll. SQl ini juga mempunyai elemen-elemen dasar, seperti:
a. Pernyataan
    Pernyataan yang dimaksud disini adalah perintah SQL yang meminta sesuatu tindakan kepada DBMS, seperti DELETE (untuk menghapus), SELECT (untuk memilih atau menampilkan baris atau kolom, juga bisa menampilkan semua isi tabel), UPDATE (untuk mengubah atau mengedit nilai pada sebuah tabel), dan masih banyak lagi pernyataan yang lain.
b. Nama
    Nama ini digunakan sebagai identitas bagi objek-objek pada DBMS.
c. Konstanta
    Konstanta menyatakan nilai yang tetap.
d. Aggregate function
    Aggregate function merupakan sebuah subprogram dimana jika dipanggil akan menghasilkan suatu nilai, fungsi ini digunakan untuk malakukan summary, fungsi satatistika standar yang dikenakan pada suatu tabel atau query. Aggregate function ini, seperti AVG, MAX, MIN, SUM, COUNT.

Optimasi Query

           Optimasi query merupakan suatu proses untuk menganalisis dan menentukan sumber apa saja yang digunakan oleh query tsb dan apakah penggunaan dari sumber tsb dapat dikurangi tanpa merubah output. Tujuan dari optimasi query ini adalah untuk menentukan jalan akses yang temudah untuk meminimalisir waktu. Optimasi query dipengaruhi oleh faktor optimasi aplikasi dan penggunaan cluster dan index.
a. Optimasi Aplikasi
    Dalam pembuatan aplikasi, yang diperhatikan adalah akses data itu sendiri, apakah akses data sudah efisien apa belum. Efisien dalam hal ini mencakup index dan cluster, dan bagaimana database itu didesain. desain database maksudnya, apakah database sudah melakukan normalisasi data secara tepat. Misalnya tabel yang hubungannya 1-1 labih baik disatukan dalam satu tabel.
b. Cluster dan Index
     Dari tadi sudah berbicara tentang cluster, mungkin teman-teman masih bingung apa itu cluster. Cluster merupakan suatu segment yang menyimpan data dari tabel yang berbeda dalam struktur fisik yang berdekatan. penggunaan cluster yaitu setelah menganalisa tabel-tabel mana saja yang sering di-query secara bersama-sama menggunakan perintah SQL. Jika aplikasi sering melakukan query pada klausa SELECT, maka harus digunakan index yang melibatkan kolom tersebut.

Tidak ada komentar:

Posting Komentar