Kegiatan Belajar 9 Structured Query Language (SQL)
Kegiatan Belajar 9 Structured Query Language (SQL)
Uraian Materi
Kegiatan Belajar ini kita akan membahas mengenai Structured Query Language (SQL). DBMS adalah
perangkat lunak yang dirancang untuk pengelolaan data dengan Kemampuan melakukan penyimpanan,
pembaruan, dan pengambilan data.
Sedangkan Structured Query Language (SQL) adalah bahasa Khusus yang digunakan uniuk mengakses dan
mengelola DBMS. SQL telah distandarkan namun telah berkembang banyak varian dan bentuk sesuai dengan
kebutuhan pengembang dan penyedia DBMS.
SQL adalah bahasa yang pada awal mulanya berorientasi pada basis data relasional. Fungsi utama SQL
digunakan pada relarional database, seperti Oracle, SQL Server, DB2. Sybase, MS Acces, MySQL, dll. SQL
membantu sebuah aplikasi berkaitan dengan operasi-operasi terhadap data. Meski SQL diakui sebagai bahasa
query yaitu bahasa untuk meminta data, namun sesungguhnya SQL bukan hanya sekedar bahasa query
terhadap basis data melainkan berisi fasilitas untuk mendifinisikan struktur data, modifikasi struktur data,
serta digunakan menspesifikasikan constraini-consiraint integritas dan keamanan data.
A. SEJARAH SQL
SQL berawal dari publikasi makalah EF. Codd (1970) mengenai model relasional: "A Relational Model of
Data for Large Shared Data Banks". Pada tahun 1974, DChamberlin dan RF. Boyce mengembangkan bahasa
query untuk ‘memanipulasi dan mengekstrak data dari basis data relasional. Definisi “Structured English
Query Language” yang disingkat scbagai SEQUEL dalam makalsh berjudul “SEQUEL=A Structured English
Query Language”. Kemudian SEQUEL berevolusi ‘menjadi versi revisi yaitu SEQUEL/2 pada tahun 1976,
SEQUEL biasanya dieja dengan SQL dan pelafalannya “si-quel” meski ejaan resminya adalah “s-q-I". Query
adalah perintah SQL yang dirancang untuk memanggil kelompok record atau baris tertentu dari satu (1) tabel
atau lebih.
Bahasa SQL dalam basis data harus memungkinkan pengguna melakukan hal-hal sebagai berikut.
1. Menciptakan hasis data dan struktur-struktur relasi
2. Melakukan manajemen data tingkat dasar seperti penyisipan (insertion), modifikasi (modification)
struktur dan data, serta penghapusan (deletion).
3. Membentuk query sederhana dan kompleks yang mentransformasi data di basis data menjadi
informasi
4. Melakukan tugas-tugas dengan seminimal mungkin memakai struktur dan sintaks yang relatif mudah
dipelajari
5. Harus portabel, yaitu memenuhi suatu standard sehingga dapat menggunakan struktur dan sintaks
perintah DBMS lain.
1
1. Subdivisi SQL
SQL (Structured Query Language) dapat dikelompokkan menjadi 3 (tga), yaitu DDL (Data Definition
Language). DML (Data Manipulation Language) dan DCL (Data Control Language).
a) DDL (Data Definition Language): DDL discbut sebagai bahasa untuk pendefinisian skema (Schema
Definition Language) yang beris perintah-perintah untuk menciptakan objek — objek basis data
(table, indeks, view dan lainny).
b) DML (Data Manipulation Language): DML adalah sekelompok perintah yang menentukan dan
melakukan manipulasi nilai-nilai di dalam suatu tabel pada suatu waktu yang diinginkan
c) DCL (Data Control Language): DCL. berisi fitur - fitur yang menentukan aksi yang dapat dilakukan
pemaka terhadap objek basis data seperti basis data, tabel, view dan lainnya,
2. Pernyataan Dasar
Pernyataan dasar pada DBMS (Database Management System) adalah sebagai berikut,
Pernyataan-pernyataan pada Tabel 5.1 digunakan pada saat melakukan komunikasi dengan basis data.
Sebagai contoh pengambilan data pada tabel PASIEN dapat ditulis sebagai berikut
Maka dengan perintah tersebut akan diambil seluruh data pasien dan ditampilkan pada
layar monitor. Selain itu terdapat beberapa istilah yang digunakan dalam komunikasi
dengan basis data diantaranya:
3. Nama
Nama digunakan sebagai identitas bagi objek-objek dalam DBMS, contoh untuk objek-objek dalam DBMS
tersebut adalah tabel, kolom, dan pengguna.
4. Tipe Data
Tipe data adalah skema pengkodeaan rinci yang dikenali DBMS untuk mempresentasikan data yang
terorganisasi. Setiap data memiliki tipe data, antara lain CHAR (untuk menyatakan deretan Karakter),
2
INTEGER (untuk menyatakan bilangan bulat), NUMERIC (untuk menyatakan bilangan realinyata), DATE
(untuk menyatakan tanggal), LOGICAL (untuk menyatakan Y dan N)
Konstanta menyatakan nilai yang tetap dan variabel menyatakan nilai yang bisa berubah,
6. Ekspresi
Ekspresi adalah segala sesuatu yang digunakan untuk menghitung nilai yang akan menghasilkan nilai.
Simbol-simbol yang dapat digunakan dalam ekpresi aritmatika seperti
7. Fungsi Bawaan
Fungsi adalah sebuah subprogram yang menghasilkan suatu nilai jika dipanggil.
Contoh fungsi bawaan SQL, MIN (memperoleh nilai terkecil), AVG (memperoleh nilai
rerata)
B. PERINTAH DDL
DDL berfungsi memanipulasi struktur database. DDL memungkinkan kita membuat dan menghapus objek-
objek basis data (database/schema, domain, table, view, dan index).
System catalog akan secara otomatis dibuat pada saat pembuatan basis data, serta Kemudian diperbaharui
begitu terdapat eksekusi kalimat DDL. DDL adalah bagian dari SQL yang digunakan untuk mendefinisikan
data dan objek basis data. Apabila perintah ini digunakan, maka proses (create, alter, drop) akan terjadi
(Octaviani, 2010).
Sintak/pernyataan atau Statement DDL tergantung dari SQL yang digunakan. Pada kegiatan belajar ini
menggunakan 1SO SQL (Standar SQL yang telah ditetapkan) sebagai acuan. Kalimat DDL mendefiniskan
struktur data dengan menciptakan dan mengelola basis data dan objek-objek basis data seperti fable dan
store procedure.
1. CREATE DATABASE
2. CREATE TABLE
3. CREATZ INDEX
4. ALTER TABLE
5. DROP TABLE
6. DROP INDEX
1. CREATE DATABASE
3
CREATE DATABASE [namabasisdatal];
Nama basis data tidak boleh mengandung spasi dan tidak boleh memiliki nama yang sama antar basis data.
2. CREATE TABLE
Setelah basis data dibuat, pastikan terlebih dahulu basis data yang akan kita gunakan sebagai tempat Anda
membuat tabel. Untuk mengaktifkan basis data yang Anda buat dapat menggunakan statement sebagai
berikut (Octaviani, 2010).
USE [namabasisdata] ;
Nm_tabel adalah nama dari tabel yang akan Anda buat, usahakan nama tersebut sesuai dengan entitas yang
diwakilinya dan jangan lebih dari 128 karakter. Banyaknya tabel yang dapat ditampung oleh basis data
dibatasi oleh banyaknya objek dalam basis data. Sebuah basis data setidaknya dapat menampung 2 Miliar
objek termasuk tabel, view (jenis lain tabel), stored procedure, trigger, dan constraint. Nm_fieldl,
nm_field2 adalah nama field yang harus ada dalam dalam sebuah tabel yang mewakili elemen entitas tersebut.
Tiap field akan menampung data dengan tipe data tertentu yang ditunjukkan oleh tipedatal, tipedata2 dan
seterusnya. Opsi berikutnya adalah constraint (syarat) masing-masing tabel, apakah boleh kosong (NULL)
atau harus diisi (NOT NULL). Nilai default dari constraint ini adalah NULL yang artinya field tersebut boleh
kosong atau tidak diisi (Alam, 2005).
3. CONSTRAINS
Constraint merupakan batasan atau aturan yang ada pada tabel. SQL menyediakan beberapa tipe constaint
(Octaviani, 2010), yaitu:
a. NOT NULL merupakan suatu kolom yang mendefinisikan dengan constraint tidak boleh NULL.
Kolom yang berfungsi sebagai kunci primer (Primary Key) otomatis tidak boleh NULL.
b. UNIQUE mendefinisikan suatu kolom bersifat unik, artinya antara satu data dengan data lain namanya
tidak boleh sama, misal alamat email.
c. PRIMARY KEY membentuk key yang unik untuk suatu tabel.
d. FOREIGN KEY Constraint didefinisikan pada suatu kolom yang ada pada suatu tabel, di mana kolom
tersebut juga dimiliki oleh tabel yang lain sebagai suatu PRIMARY KEY dan digunakan untuk
menghubungkan antara dua table
e. CHECK constraint yang satu ini mendefinisikan sebuah kondisi data agar dapat masuk dalam field,
artinya tiap pemasukan atau editing terhadap data. Data yang dimasukan akan selalu diperiksa apakah
sesuai yang telah ditentukan. Jika tidak memenuhi, maka SQL akan menampilkan pesan ERROR.
f. DEFAULT digunakan untuk mendefinisikan nilai defaulr dari field yang mana Ketika ada baris baru
yang dimasukkan ke dalam tabel nilai default dari field akan digunakan apabila tidak ada nilai yang
diberikan pada field tersebut
g. IDENTITY hanya menampung nilai bertipe data integer. Standar properti ini sudah ditentukan oleh
sistem.
4
Daricontoh tersebut dibuat sebuah tabel pembeli. Tabel pembeli tersebut memiliki Kode_pembeli dengan
tipe data integer dan tidak boleh kosong. Kemudian Nama_pembeli dengan tipe data char tidak boleh
Kosong, Alamat_pembeli dengan tipe data char, dan Kota dengan tipe data char.
Berikut hasil tabel pembeli yang telah dibuat dapat dilihat pada tabel 5.3 yang telah diisi data
Hasil pernyataan di atas (serta jika data telah kita isikan) dapat dilihat pada Tabel 5.4
sebagai berikut
4. CREATE INDEX
Perintah create index membuat index pada sebuah tabel. Rumus dari create index adalah sebagai berikut
Sebagai contoh perintah create index pada tblpembeli adalah scbagai berikut:
Pernyataan di atas:
Index + idx_pembeli merupakan nama index yang akan dibuat.
Kode_pembeli : Merupakan nama kolom yang akan dijadikan indeks.
5
5. ALTER
Setelah membuat tabel dalam basis data, kita dapat memodifikasi field pada table yang ita buat. Dengan
perintah ALTER Kita dapat membuat perubahan pada struktur tabel tanpa menghapus table tersebut. Berikut
adalah contoh penggunaan alter untuk ‘menambah field pada table.
Perintah ini merupakan pernyataan untuk menambah kolom dengan nama kolom kelamin dan bertipe
CHAR(1). Hasil pernyataan di atas (serta jika data telah kita isikan) sebagai berikut
Berikut adalah contoh perintah ini merupakan pernyataan untuk menghapus kolom Kelamin:
DROP Kelamin;
6. DROP
DROP memungkinkan kita untuk menghapus objek dalam basis data. Gunakan perintah ini dengan hati-hati,
perlu diingat bahwa perintah DROP akan menghapus data dan struktur.
Di mana:
namadatabase adalah nama dari database yang akan dihapus.
6
DROP TABLE [namatabel]
(Untuk menghapus tabel)
Selain menghapus scbuah basis data perintah DROP juga dapat digunakan untuk menghapus sebuah tabel.
Contohnya adalah menghapus tabel pembeli sebagai berikut:
Kemudian perintah DROP juga dapat digunakan untuk menghapus sebuah index yang telah dibuat. Berikut
adalah contoh perintah DROP untuk menghapus index idx_Nama_Pembeli dari tblpembeli.
Perintah ini merupakan pernyataan untuk menghapus indeks nama pembeli pada tblpembeli.
D. CONTOH KASUS
Berikut adalah contoh membuat basis data dengan nama “Toko” yang mempunyai dua tabel yaitu tabel
“Barang” dan tabel “Pembelian”:
1. Membuat Database
Berikut adalah perintah untuk membuat database dengan nama “Toko":
CREATE TABLE barang ( ID Barang varchar(50) not null, Nama Barang varchar (255) not null,
Tanggal_terima datetine not null, Stok_Barang int null default 0, constraint PK_Barang primary key
(ID_Barang));
7
3. Membuat Table Pembelian.
Berikut adalah perintah untuk membuat tabel Pembelian beserta field-field, serta primary-keynya:
Karena kita belum menambahkan foreign key pada saat kita membuat tabel Pembelian, maka kita dapat
menambahkan Foreign key dengan perintah ALTER seperti queri di bawah ini
Pada queri alter di atas ditambahkan sebuah foreign key pada ID_Barang menggunakan perintah ALTER
TABLE, tetapi kita juga bisa langsung memasukkan foreign key pada saat CREATE TABLE Pembelian
dengan referensi table Barang.
8
5. Menghapus Field “Nama_pembeli” pada Tabel Pembelian
Berikut adalah perintah untuk menghapus field “Nama_pembeli” tabel Pembelian:
Latihan
Untuk memperdalam pemahaman Anda mengenai materi di atas, kerjakanlah latihan berikut!
9
Setelah melakukan pengamatan, lakukanlah:
1) Bagaimana perintah SQL dalam membuat tabel di atas!
2) Bagaimana perintah SQL untuk menambahkan sebuah index pada NIM tanpa membuat ulang tabel
tersebut!
3) Bagaimana perintah SQL untuk menghapus tabel tersebut dari basis data!
Rangkuman
SQL adalah bahasa yang mulanya berorientasi pada basis data relasional. Bahasa ini membantu
pekerjaan yang dilakukan pengembang terkait operasi-operasi terhadap data. Meski SQL diacu sebagai
bahasa query (yaitu bahasa untuk meminta data) namun sesungguhnya SQL bukan hanya sekedar
bahasa guery terhadap basis data, tetapi juga berisi fasilitas untuk mendefinisikan struktur data,
modifikasi struktur data, serta digunakan untuk menspesifikasikan constraint-constraint integritas dan
keamanan data.
SQL (Structured Query Language) dapat dikelompokkan menjadi 3 (tiga), yaitu DDL (Data Definition
Language), DML (Data Manipulation Language) dan DCL (Data Control Language).
Sumber:
https://pustaka.ut.ac.id/
Daftar Pustaka
Connolly, T., & Carolyn, B. (2014). Database systems: A practical approach to design,
implementation, and management (6th ed.). Pearson Inc.
Connoly, T., Carolyn, B., & Anne, S. (2001). Database systems: A practical approach to design,
implementation, and management (3 edition). Addison Wesley.
Elmasri and Navathe. (2015). Fundamentals of database systems (7th ed.). Addiso Wesley.
H. S., Octaviani. (2010). SQL server 2008 express. Yogyakarta: Andi Yogyakarta.
Mason, R., Carolyn, S., & Graham, C. (2016). Computer science education: Applying cognitive load
theory to the redesign of a vonventional database systems course. Published online.
Silberschartz, K., & Sudarshan. (2011). Database system concepts (6th ed.). Mc Graw Hill.
STMIK Stikom Indonesia. (2016). Modul praktikum sistem basis data MySQL. Denpasar, Bali.
Yakub. (2008). Sistem basis data tutorial konseptual. Yogyakarta: Graha Ilmu Yogyakarta.
10