Hendra Setiawan (15.52.0657)
Query Database Query ini sendiri atau sering disebut SQL (Structured Query
Language) adalah suatu bahasa (language) yang digunakan untuk mengakses database. (Solichin, 2010). SQL Sendiri terbagi ke dalam tiga jenis yaitu DDL (Data Definition Language), DML (Data Manipulation Language), dan DCL (Data Control Language). (Solichin, 2010). DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database dan table. Contohnya adalah CREATE, ALTER, RENAME, DROP. DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. Contoh DML adalah SELECT, UPDATE, INSERT, DELETE. DCL merupakan perintah SQL yang berhubungan dengan manipulasi user dan hak akses (priviledges). Contoh DCL adalah GRANT, REVOKE. (Arbie, 2004).
Optimasi Query Database Optimasi adalah suatu usaha untuk meningkatkan kinerja hingga mencapai atau mendekati batas maksimum yang diinginkan dari suatu proses. (Arbie, 2004). Optimasi ini terbagi menjadi dua kelompok, yaitu optimasi hardware dan optimasi software. Optimasi query termasuk pada kelompok optimasi software. Selain optimasi query, optimasi software juga terdiri dari optimasi struktur database, optimasi index dan multiple index, optimasi struktur table. (Arbie, 2004). Query ini sendiri atau sering disebut SQL (Structured Query Language) adalah suatu bahasa (language) yang digunakan untuk mengakses database. (Solichin, 2010). Sehingga optimasi query database dapat diartikan sebagai usaha untuk meningkatkan kinerja database atau system dengan memfokuskan pada pemilihan penggunaan query-query yang efektif dan efisien pada kondisikondisi tertentu. Kelebihan dari optimasi query, khususnya SQL DML jika dibandingkan dengan optimasi software yang lain adalah tepat digunakan pada database suatu system yang telah lama digunakan dan tidak dimungkinkan adanya perubahan struktur atau konfigurasi tabelnya.
Cost Based Optimization Cost based optimization adalah sebuah rencana query
yang dipilih berdasarkan cost value pada setiap rencana query yang dijalankan. (Boiarkine, Horninger, Cherry, Asanka dan Long, 2009) teknik ini menyeleksi beberapa opsi atau alternatif plan untuk kemudian dipilih plan atau rencana query dengan cost termurah.
Komponen-komponen optimasi cost based (Santiputri, Kirana, dan Anni, 2010) access cost untuk secondary storage Cost yang termasuk pada cost ini adalah harga / cost untuk pencarian, pembacaan dan penulisan blok-blok data yang terletak pada secondary storage. Cost pencarian dari record-record pada sebuah file tergantung dari tipe pengaksesan file tersebut, seperti pengurutan, hashing dan pengindeks-an primary maupun secondary. Harga akses ini juga dapat dipengaruhi oleh faktor-faktor seperti disediakan atau tidaknya blok-blok file yang berdekatan pada silinder disk yang sama atau tersebar pada disk. storage cost cost ini didefinisikan sebagai cost penyimpanan file-file menengah yang dihasilkan oleh sebuah strategi eksekusi query. computation cost cost ini terdefinisi sebagai cost pelaksanaan operasi-operasi memori pada buffer data selama eksekusi query. Memory usage cost sedikit berbeda dengan computation cost, cost ini didefinisikan sebagai cost jumlah dari buffer memori yang diperlukan selama eksekusi query. communication cost communication cost ini didefinisikan sebagai cost pengiriman query dan hasilnya dari tempat basisdata atau terminal dimana query berasal.
Subset Query Subset query dibagi menjadi tiga macam bentuk
query, antara lain sebagai berikut: scalar
subset query scalar adalah melakukan proses select sejumlah kolom dari satu tabel di mana kondisi suatu kolom terpenuhi pada satu sub query. Scalar query diwakili oleh query berikut: select [nama_kolom1],..., [nama_kolomN] from [nama_tabel1] where [nama_tabel1].[nama_kolom1] in (select [nama_kolom1] from [nama_tabel2])
Subset Query (2) correlated
Subset query correlated adalah melakukan proses select sejumlah kolom pada satu tabel dimana kondisi suatu kolom terpenuhi pada satu sub query, dan sub query tersebut pengkondisiannya masih berhubungan dengan super query. Correlated query diwakili oleh query berikut: select [nama_kolom1],..., [nama_kolomN] from [nama_tabel1] where [nama_tabel1].[nama_kolom1] in (select [nama_kolom1] from [nama_tabel2] where [nama_tabel1].[nama_kolom2] =[nama_tabel2].[nama_kolom2])
Subset Query (3) kombinasi
subset query kombinasi adalah mengabungkan bentuk cross product dengan subset query. Kombinasi tersebut seperti berikut: Cross Product dengan Scalar Didefinisikan sebagai proses melakukan select sejumlah kolom pada beberapa tabel dimana pengkondisian antar tabel menggunakan join dan pengkondisian suatu kolom dipenuhi oleh satu sub query. Query tersebut diwakili oleh: select [nama_kolom1],..., [nama_kolomN] from [nama_tabel1], [nama_tabel2] where [nama_tabel1].[nama_kolom1] =[nama_tabel2].[nama_kolom2] AND [nama_tabel1].[nama_kolumn1] in (select [nama_kolom1] from [nama_tabel3])
Subset Query (4)
Multi Scalar Didefiniskan sebagai proses melakukan select sejumlah kolom pada satu tabel dimana kondisi suatu kolom terpenuhi pada satu sub query dan sub query tersebut terdapat satu sub query lagi. Query ini diwakili oleh: select [nama_kolom1],..., [nama_kolomN] from [nama_tabel1] where [nama_tabel1].[nama_kolom1] in (select [nama_kolom1] from [nama_tabel2] where [nama_tabel2].[nama_kolom2] in (select [nama_kolom2] from [nama_tabel3]))