STRUCTURE QUERY LANGUAGE (SQL) BASIS DATA Structured Query Language (SQL) SQL merupakan bahasa query standar yang digunakan untuk mengakses basis data relasional. Penyebutan SQL sebagai bahasa query sebenarnya tidak tepat sebab kemampuan SQL tidak sebatas hanya query (memperoleh data), tetapi mencakup kemampuan lain seperti : Pendefinisian struktur data Pengubahan data Pengaturan sekuritas Adapun alasan SQL dikatakan sebagai subbahasa data adalah karena SQL tidak mendukung persyaratan bahasa yang lengkap, sekalipun SQL dapat dipakai untuk mengakses basis data. SQL tidak menyediakan hal-hal berikut: Pernyataan penguji kondisi (semacam IF pada Cobol) Pernyataan pengulangan (semacam REPEAT pada Pascal) Antarmuka SQL terhadap DBMS Penggunaan SQL pada DBMS cukup luas. SQL dapat dipakai oleh berbagai kalangan (DBA, pemrogram ataupun pengguna) SQL sebagai bahasa administrasi basis data Dalam hal ini SQL dipakai oleh BDA untuk menciptakan serta mengendalikan pengaksesan basis data. SQL sebagai bahasa query interaktif Pengguna dapat memberikan perintah-perintah untuk mengakses basis data yang sesuai dengan kebutuhan. Hal ini sangat berguna untuk memenuhi kebutuhan-kebutuhan yang bersifat seketika (hanya digunakan saat itu juga) Antarmuka SQL terhadap DBMS (2) SQL sebagai bahasa pemrograman basis data Pemrogram dapat menggunakan perintah-perintah SQL dalam program aplikasi yang dibuat, guna mengakses basis data. SQL sebagai bahasa klien/server SQL juga dipakai sebagai untuk menimplementasikan sistem klien/server. Sebuah klien dapat menjalankan sesuatu aplikasi yang mengakses basis data yang ada pada suatu server. DBMS menyediakan Program Khusus (Utilitas/Utility) Yang dapat digunakan secara interatif untuk berbagai operasi terhadap basis data seperti: Pembuatan tabel, penghapusan dan perubahan tabel Penambahan data, perubahan data dan penghapusan data Sekumpulan Perintah (dalam bentuk Command line) Yakni perintah yang ditulis pemakai Bahasa Basis Data DDL : merujuk pada kumpulan perintah yag digunakan untuk mendefinisikan objek-objek basis data, seperti membuat sebuah tabel basis data/indek primer/sekunder DML : mengaju pada kumpulan perintah yang dapat digunakan untuk melakukan manipulasi data, seperti penyimpan data kesuatu tabel, mengubah, menghapus dll DML lebih dekat ke QL (Query Language) DML : lebih ditekankan pada aspek pengenaan operasi terhadap suatu data, berupa penyimpanan data baru kedalam tabel, pengubahan, penghapusan QL : lebih ditekankan pada aspek pencarian data ke dalam tabel Elemen-elemen SQL Pernyataan Pernyataan adalah perintah SQL yang meminta suatu tindakan kepada DBMS. Beberapa pernyataanpernyataan dasar SQL. Nama Nama digunakan sebagai identitas bagi objek-objek pada DBMS. Contoh objek pada DBMS adalah tabel, kolom dan pengguna Type Data Setiap data memiliki tipe data Elemen-elemen SQL (2) Konstanta Ekspresi Konstanta menyatakan nilai yang tetap (kebalikan dari konstanta adalan variabel) Ekspresi adalah segala sesuatu yang menghasilkan nilai. Ekspresi digunakan untuk menghitung nilai Fungsi Bawaan Fungsi adalah sebuah subprogram yang menghasilkan suatu nilai jika dipanggil. Misalnya MIN, AVG dll Kelompok pernyataan SQL DDL (Data Definition Language) DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut-atribut basis data, tabel, atribut/kolom, batasan-batasan terhadap suatu atribut, serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini adalah CREATE, ALTER dan DROP DML (Data Manipulation Language) DML adalah kelompok perintah yang berfungsi untuk memanipulasi data basis data, misalnya untuk pengambilan, penyisipan, pengubahan dan penghapusan data. Perintah yang masuk kategori DML adalah : SELECT, INSERT, DELETE Kelompok pernyataan SQL (2) DCL (Data Control Language) DCL berisi perintah untuk mengendalikan pengaksesan data. Pengendalian dapat dilakukan berdasar per pengguna, per tabel, per kolom maupun per operasi yang boleh dilakukan. Perintah-perintah yang termasuk dalam DCL adalah : GRANT : Memberikan kendali pengaksesan data REVOKE : Mencabut kemampuan pengaksesan data LOCK TABLE : mengunci tabel Kelompok pernyataan SQL (3) Pengendali Transaksi Pengendali transaksi adalah perintah-perintah yang berfungsi untuk mengendalikan pengeksekusian transaksi. Perintah yang termasuk dalam kategori ini. COMMIT : Menyetujui rangkaian perintah yang berhubungan erat (disebut transaksi) yang telah berhasil dilakuan ROLLBACK : Membatalkan transaksi yang dilakukan karena adanya kesalahan atau kegagalan pada salah satu rangkaian perintah Kelompok pernyataan SQL (4) Pengendali Programatik Pengendali Programatik mencakup pernyataanpernyataan yang berhubungan dengan pemanfaatan SQL dalam bahasa lain (SQL yag dilekatkan). CLOSE : Menutup kursosr (pointer yang menunjuk ke tabel) DECLARE : Mendeklarasikan kursor FETCH : Mengambil nilai baris berikutnya OPEN : Untuk membuka kursos