MODUL 7 STRUCTURED QUERY LANGUAGE BAHASA QUERY KOMERSIAL Berdasarkan acuan model relasional, ada 2 bahasa query komersial yang tersedia : 1. SQL (Structured Query Language) 2. QBE (Query By Example ). SQL dan QBE masing-masing mewakili bahasa query prosedural dan non-prosedural. 1. SQL ( Sructured Query Language ) a. SQL dibangun dengan basis aljabar relasional yang dijelaskan bab sebelumnya. b. SQL memberikan bahasa query tingkat tinggi ( a high level query language ) dengan struktur sederhana dengan kosakata dan gramatika yang sederhana pula, seperti berikut : Select A 1, A 2,, A n From Where T 1, T 2,, T n P Dimana : A 1,A 2,,A n : himpunan dari semua atribut yang hendak ditampilkan. T 1,T 2,,T n : himpunan dari semua tabel yang terlibat (diperlukan) dalam query. P : predikat / kriteria yg diinginkan tentang informasi yg dicari. c. Struktur dasar SQL tersebut equvalen dengan operasi pada aljabar relasional berikut: π A1,A2, An (σ P(T1 X X Tn)) 1
d. Beberapa operator SQL yang berkorespondensi dengan operator aljabar relasional : Aljabar Relasional SQL AND OR <> or >< >= <= Contoh query untuk mencari semua KartuID dari semua kustomer yang memiliki rekening tipe tabungan adalah sebagai berikut: Select KartuId From rekening KusRek Where Type = tabungan dan rekening.norek = kusrek.norek e. Contoh Kasus Translasi Aljabar Relasional ke dalam SQL : 1. AR : σ Balance > 4000000 ( account ) SQL : Select.. From Where 2. AR : σ type = saving ^ balance > 4.000.000 ( account ) SQL: Select.. From Where 3. AR : σ name = Nyoman V Street = Beringin ( customer ) 2
SQL: Select.. From Where 4. AR : π acc no, balance ( account ) SQL : 5. AR : π Acc no, balance (σ balance > 4.000.000 ( account ) ) SQL : f. SQL Sebagai Subbahasa memiliki kemampuan seperti : Pendefinisian struktur data, Pengubahan data, Pengaturan sekuritas, dan lain-lain. Alasan SQL dikatakan sebagai subbahasa data karena SQL tidak mendukung persyaratan bahasa yang lengkap, sekalipun SQL dapat dipakai untuk mengakses basis data. SQL tidak menyediakan hal-hal berikut : 1. Pernyataan penguji kondisi (semacam IF pada COBOL). 2. Pernyataan pengulangan/iterasi (semacam REPEAT pada Pascal). g. Antarmuka SQL terhadap DBMS SQL dapat dipakai oleh berbagai kalangan (DBA, Pemrogram, ataupun Pengguna). 1. SQL sebagai bahasa administrasi basis data Dalam hal ini SQL dipakai oleh DBA untuk menciptakan serta mengendalikan pengaksesan basis data. 2. SQL sebagai bahasa qury interaktif. User dapat memberikan perintah-perintah untuk mengakses basis data yang sesuai dengan kebutuhannya. 3. SQL sebagai bahasa pemrograman basis data 3
Pemrogram dapat menggunakan perintah-perintah SQL dalam program aplikasi yang dibuat, guna mengakses basis data. 4. SQL sebagai bahasa klien/server SQL juga dipakai sebagai untuk mengimplementasikan sistem klien/server. Elemen dasar SQL 1. Pernyataan ELEMEN SQL Tabel 7.1 Pernyataan-pernyataan dasar SQL. Pernyataan Keterangan ALTER Mengubah struktur tabel COMMIT Mengakhiri sebuah eksekusi transakasi CREATE Menciptakan tabel, indeks, atau pandangan DELETE Menghapus baris pada tabel DROP Menghapus tabel, indeks, atau pandangan GRANT Menugaskan hak terhadap basis data kepada pengguna atau grup pengguna 2. Nama Nama digunakan sebagi identitas bagi objek-objek pada DBMS. Contoh objek pada DBMS adalah tabel, kolom, dan pengguna. 3. Tipe Data Tipe data standar Tipe Data Keterangan CHAR Untuk menyatakan deretan karakter (string). Misalnya untuk menyatakan nama orang, nama jalan, atau nama kota INTEGER Untuk menyatakan bilangan bulat NUMERIC Untuk menyatakan bilangan real 4
Tipe data perluasan Tipe Data VARCHAR MONEY BOOLEAN BLOB SERIAL / AUTOINCREMENT Keterangan Untuk menyatakan string yang panjangnya bervariasi Untuk menyatakan uang Menyatakan tipe logis (True atau False) Untuk menyatakan data biner (gambar, suar, dan sebagainya Untuk menyatakan nilai yang urut Struktur SQL Pernyataan SQL dikelompokkan menjadi : 1. DDL 2. DML 3. DCL 4. Pengendali Transaksi 5. Pengendali Programatik. 1. DDL (Data Definition Language) a. DDL perintah yang berfungsi untuk mendefinisikan atribut-atribut basis data, tebel, atribut (kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar tabel. b. Kelompok DDL : CREATE, ALTER, dan DROP. c. Sintaks SQL untuk melakukan pembuatan tabel baru didalam basis data : create table t (A1 D1, A2, D2,., An Dn) dimana : t adalah nama tabel yang akan dibuat A1, A2,, An adalah nama-nama atribut yang akan terdapat di dalam tabel t D1, D2,, Dn adalah domain nilai masing-masing atribut tersebut yang di tentukan berdasarkan tipe datanya. Contoh perintah perintah SQL 5
A. Membuat tabel Mahasiswa Create table mahasiswa (nim char (6), nama_mhs varchar (30), alamat_mhs varchar (50), tgl_lahir (date) B. Penghapusan terhadap tabel Mahasiswa : drop tabel mahasiswa C. Ekspresi SQL untuk pembuatan tabel Mahasiswa sekaligus dengan pendefinisian Indeks Primer berdasarkan nim : create table mahasiswa (nim char (6), nama_mhs varchar (30), alamat_mhs varchar (60), tgl_lahir date, primary key (nim)) d. Ekspresi SQL, jika jumlah atribut yang membentuk Indeks Primer ada lebih dari satu Create table nilai (nim char (6), kode_kul char (6), indeks_nilai char (1), primary key (nim, kode_kul)) e. Ekspresi SQL untuk penghapusan tabel Mahasiswa : drop tabel mahasiswa f. Sintaks SQL untuk perubahan struktur tabel yang berbentuk penambahan atribut baru ke tabel t adalah : alter table t add A D g. Sintaks SQL untuk penghapusan atribut dari tabel t Alter table t drop A h. Ekspresi SQL untuk penambahan atribut baru bernama ip di tabel Mahasiswa : 6
Alter table mahasiswa add ip numeric (5, 2) i. Jika atribut ip ingin dihapus dari tabel mahasiswa, ekspresi SQL-nya : Alter table mahasiswa drop ip 2. DML (Data Manipulation Language) DML kelompok perintah yang berfungsi untuk memanipulasi data dalam basis data, misalnya untuk pengambilan, penyisipan, pengubahan, dan penghapusan data. Perintah yang masuk kategori DML adalah : SELECT = Memilih data INSERT = Menambah data DELETE = Menghapus data UPDATE = Mengibah data Perintah Select (klausa select) digunakan untuk menetapkan daftar atribut (field) yang diinginkan sebagai hasil query. Perintah select (klausa select) tidak terlepas dari dua klausa, yaitu : Klausa form digunakan untuk menetapkan tabel (atau gabungan tabel) yang akan ditelusuri selama query data dilakukan. Klausa where, yang sifatnya opsional, digunakan sebagai predikat (kriteria) yang harus dipenuhi dalam memperoleh hasil query. sintaks (cara penulisan) dari ekspresi SQL dasar dengan 3 klausa tersebit adalah : select A1 [A1, A2,, An] from t1 [t1, t2,.,tm] [where p] dimana : A1, A2,..,An merupakan daftar atribut. t1, t2,.,tm merupakan daftar tabel. P merupakan predikat query. [ ] merupakan tanda opsional (boleh digunakan, boleh tidak digunakan). 7
D. Spesifikasi Hardware dan Software Hardware : Prosesor : Pentium 3 600Mhz Memori : 128 MB RAM Hardisk : minimum 10GB, ada ruang kosong min 2GB Monitor : min resolusi 1024x768 dan 256 color Keyboard dan mouse Sistem Operasi: Microsoft Windows 95 Microsoft Windows 2000 Microsoft Windows Xp Ms. Access ============================ 8