STRUCTURE QUERY LANGUAGE (SQL)
SQL merupakan bahasa query yang paling banyak dipilih oleh DBMS dan Development Tools.
Contoh : Visual Basic, Delphi, PowerBuilder, Java dll.
STRUKTUR DASAR SQL
Klausa Select digunakan untuk menetapkan daftar atribut (field) yang diinginkan sebagai hasil query.
Klausa From digunakan untuk menetapkan relasi atau tabel (atau gabungan tabel) yang akan ditelusuri selama query data dilakukan.
Klausa Where
Sifatnya opsional digunakan sebagai predikat (kriteria) yang harus dipenuhi dalam memperoleh hasil query.
Sintaksnya adalah :
Select A1 [A2, A3….An]
From T1 [T2….Tm]
[where P]
Dimana :
A1, A2…An merupakan daftar atribut
T1, T2…Tm merupakan daftar tabel atau relasi.
P merupakan predikat Query.
[] merupakan tanda opsional (booleh digunakan, boleh tidak digunakan), tergantung kebutuhan.
Klausa Select
Contoh : Jika kita ingin menampilkan NIM dan Nama Mahasiswa yang ada di tabel Mahasiswa, maka kita dapat menggunakan perintah SQL sbb :
Select nim, nama_mhs
from mahasiswa
Klausa Where
Contoh :
Menampilkan semua atribut untuk mahasiswa dengan NIM = ‘980002’
Select * from mahasiswa
where nim =‘980002
Menampilkan semua matakuliah yang diselenggarakan di semester 3 tetapi jumlah sks-nya lebih besar dari 2.
Perintah SQL-nya :
Select * from mahasiswa
where semester = 3 and sks > 2
Klausa From
Klausa From digunakan untuk menetapkan tabel yang kita jadikan sebagai sumber (lokasi) pencarian
Contoh :
Select * From kuliah, dosen
Where kuliah.kode_dos = dosen.kode_dos
Pengurutan Hasil Query
Dengan menggunakan ekspresi dasar SQL maka hasil query ditampilkan dengan urutan yang sesuai dengan struktur penyimpanan yang kita terapkan pada tabel query.
Contoh :
Select * from mahasiswa
order by nama_mhs
Fungsi Agresi
Disamping menampilkan nilai-nilai atribut yang ada di dalam tabel, sering pula ada kebutuhan untuk menampilkan data-data agresi seperti : banyaknya record, total nilai suatu atribut, rata-rata nilai atribut, nilai atribut terbesar ataupun nilai atribut terkecil.
Data Agresi dapat di peroleh dengan menggunakan fungsi-fungsi sbb :
1. Count
2. Sum
3. Avg
4. Max
5. Min
Contoh Fungsi Agresi
Menampilkan banyaknya record mahasiswa
Select count *
from mahasiswa
Manipulasi Data (DML)
DML menyediakan 4 (empat) pernyataan untuk melakukan manipulasi data dalam database, yaitu:
1. SELECT, untuk query (meminta informasi) dari database.
2. INSERT, Terdapat 2 bentuk pernyataan untuk melakukan penyisipan data pada table dalam suatu database yaitu :
Bentuk pertama dimana memungkinkan satu baris tunggal disisipkan kedalam table.
Bentuk kedua dimana memungkinkan banyak baris sekaligus dikopikan kesatu table atau lebih.
Sintaks : INSERT [ INTO] NAMA TABEL [Daftar_Kolom] Value DAFTAR_NILAI
INSERT : Klausa ini menspesifikasikan nama tabel dimana data bisa ditambahkan
VALUE : Klausa ini menspesifikasikan nilai data yang akan disisipkan ke dalam kolom pada tabel
Daftar_Kolom : Merupakan daftar kolom yang dipisahkan oleh tanda koma menyatakan kolom-kolom yang akan diisi data. Jika tidak ada kolom yang dinyatakan, berarti semua kolom di dalam akan diisi data. Jika hanya sebagian daftar yang dinyatakan, nilai null atau nilai default akan diisikan ke kolom yang tidak disebutkan dalam daftar kolom.
Daftar Nilai : Daftar nilai untuk kolom tabel yang akan disisipkan sebagai sebuah baris data dalam tabel. Data yang diberikan pada daftar nilai harus sesuai dengan daftar kolom. Banyak data harus sama dengan banyak kolom, tipe data, presisi, dan skala dari setiap data harus sesuai dengan kolomnya.
Contoh : Misalkan kita akan menyisipkan data pada ke 5 (lima) table pada database NilaiMahasiswa tersebut diatas untuk masing – masing table 1 (satu) record untuk record pertama, maka perintahnya adalah:
Table Mahasiswa
INSERT INTO Mahasiswa
Values (‘I01031001’,’Dewi Nurbaini’,’Bekasi’,’12/10/87’, ’Wanita’,’Jl. Dahlia I Blok BC 2/3’,’Bekasi Utara’, ’Hindu’,’021-8791290’,’TI’)
3. UPDATE untuk melakukan perubahan data pada suatu table dalam suatu database. yang memungkinkan untuk memodifikasi satu nilai kolom atau lebih unuk data table yang telah ada. Kita dapat menerapkan perubahan kesemua baris di table, satu subset baris, atau satu baris. Sintaks dari kalimat UPDATE tersebut adalah sebagai berikut:
UPDATE table_name
SET column_1 = value_1
[,column_2 = value_2 [,…]]
WHERE condition
Contoh
Table Mahasiswa
UPDATE Mahasiswa set alm_m=’Jl.Seruni Raya No.3’, kota_m=’Cikarang’,agama_m=’Islam’,telpon_m=’02-9897119’, kode_jur=’TI’
WHERE nim=’I01031002’
4. DELETE untuk melakukan penghapusan data pada suatu database.
Kalimat DELETE memungkinkan kita menghapus satu record ataulebih pada suatu table dlam database. Sintaks dari kalimat DELETE tersebut adalah sebagai berikut:
DELETE FROM table_name
WHERE condition
Data Definition Data
DDL (Data Definition Language) memungkinkan kita membuat dan menghancurkan objek – objek basis data (database/schema, domain, table, view, dan index .
Perintah DDL seperti Create, Alter, Drop
1. Create
Sintaks : Create Database [Database_name]
Contoh : Create Database NilaiMahasiswa
Contoh Membuat Tabel dengan perintah Create
Create Table Mahasiswa
(
nim char (9) not null,
nama_m varchar (35) not null,
tpt_lhr_m varchar(26),
tgl_lhr_m datetime,
j_kelamin varchar(10),
alm_m varchar(90),
kota_m varchar (20),
agama_m varchar(10),
telpon_m char (13),
kode_jur char (2)
)
2. Alter
Menambahkan kolom email dengan tipe data varchar, panjang karakternya = 30
ALTER TABLE Mahasiswa
Add email varchar(30)
3. Drop
Sintaks : Drop Table [table_name] [RESTRICT | CASCADE]
Contoh : Untuk melakukan penghapusan table Mahasiswa berserta strukturnya, maka perintahnya adalah:
Drop Table Mahasiswa
QUEL (Query Language)
Digunakan dalam lingkungan DBMS Ingres yang didasari pada tuple relational calculus.
Ada 3 tipe klausa yg sering digunakan :
range of = pendefinisian variabel basis data
retrieve = identik dengan perintah select
where = mengandung predikat seleksi
Bentuk umum query Quel adalah :
Range of tn is rn
Retrive (ti1.Aj1,..tin.Ajn)
Where P
Dimana ti adalah variabel baris data t untuk setiap atribut A.
Contoh :
Tampilkan semua nama mahasiswa dalam tabel mahasiswa, maka :
range of t is mahasiswa
retrieve (t.nama_mhs)
Variabel baris data
Sangat berguna bila mengacu pada baris data yang beda tetapi untuk relasi yang pertama pada query.
range of t is mahasiswa
range of s is mahasiswa
retrieve (s.nama_mhs)
where t.nama_mhs=‘Umar’ and t.kota=s.kota
QBE ( Query By Example )
QBE sekaligus merupakan sebuah DML dan DBMS yang menggunakan DML tersebut.
------
svoong ++