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
A1, A2, …, An
From
T1, T2 ,…, Tn
Where
P
Dimana : A1,A2,…,An : himpunan dari semua atribut yang hendak ditampilkan. T1,T2,…,Tn : 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 : : σ Balance > 4000000 ( account )
1. AR 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.
5.
AR
:
SQL
:
AR
:
SQL
:
π acc no, balance ( account )
π Acc no, balance (σ balance > 4.000.000 ( account ) )
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 SQL •
Elemen dasar SQL 1. Pernyataan
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 CHAR
Keterangan 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
Keterangan
VARCHAR
Untuk menyatakan string yang panjangnya bervariasi
MONEY
Untuk menyatakan uang
BOOLEAN
Menyatakan tipe logis (True atau False)
BLOB
Untuk menyatakan data biner (gambar, suar, dan sebagainya
SERIAL AUTOINCREMENT
/ 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