Materi ke 13 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 perintahperintah 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 objekobjek 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 pernyataan-pernyataan dasar SQL. • Nama – Nama digunakan sebagai identitas bagi objekobjek pada DBMS. Contoh objek pada DBMS adalah tabel, kolom dan pengguna • Type Data – Setiap data memiliki tipe data Elemen-elemen SQL (2) • Konstanta – Konstanta menyatakan nilai yang tetap (kebalikan dari konstanta adalan variabel) • Ekspresi – 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 • SINTAK – SINTAK SQL MENGGUNAKAN MySQL Front