SQL adalah bahasa standar untuk mengakses database atau atau memanipulasi database dengan kata lain SQL (
Structured Query Language) adalah sebuah
bahasa yang dipergunakan untuk mengakses
data dalam
basis data relasional. Bahasa ini secara
de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua
server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya. SQL merupakan bahasa standar ANSI (American National Standards Institute)
Apa yang bisa dilakukan SQL?
- SQL dapat mengeksekusi query terhadap database
- SQL dapat mengambil data dari database
- SQL catatan dapat menyisipkan dalam database
- SQL dapat memperbarui catatan dalam database
- SQL dapat menghapus data dari database
- SQL dapat membuat database baru
- SQL dapat membuat tabel baru pada database
- SQL dapat membuat prosedur yang tersimpan dalam database
- SQL dapat membuat tampilan dalam database
- SQL dapat mengatur hak akses pada tabel, prosedur, dan pandangan
Sejarah SQL
Sejarah SQL dimulai dari artikel seorang peneliti dari
IBM bernama EF Codd yang membahas tentang ide pembuatan
basis data relasional pada bulan
Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama
SEQUEL (
Structured
English
Query
Language).
Setelah terbitnya artikel tersebut,
IBM mengadakan proyek pembuatan basis data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi
SQL. Implementasi basis data relasional dikenal dengan
System/R.
Di akhir tahun
1970-an, muncul perusahaan bernama
Oracle yang membuat
server basis data populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar
de factobahasa dalam manajemen basis data.
Standarisasi SQL
Standarisasi SQL dimulai pada tahun
1986, ditandai dengan dikeluarkannya standar SQL oleh
ANSI. Standar ini sering disebut dengan
SQL86.Standar tersebut kemudian diperbaiki pada tahun
1989 kemudian diperbaiki lagi pada tahun
1992. Versi terakhir dikenal dengan
SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu
SQL99 atau disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92.
Saat ini sebenarnya tidak ada server basis data yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki dialek masing-masing.
Pemakaian Dasar SQL
Secara umum, SQL terdiri dari dua bahasa, yaitu
Data Definition Language (DDL) dan
Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap
sistem manajemen basis data (SMBD)
[1], namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan
ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD.
Data Definition Language
DDL digunakan untuk mendefinisikan, mengubah, serta menghapus
basis data dan objek-objek yang diperlukan dalam basis data, misalnya
tabel,
view,
user, dan sebagainya. Secara umum, DDL yang digunakan adalah
CREATE
untuk membuat objek baru,
USE
untuk menggunakan objek,
ALTER
untuk mengubah objek yang sudah ada, dan
DROP
untuk menghapus objek. DDL biasanya digunakan oleh
administrator basis data dalam pembuatan sebuah
aplikasi basis data.
Perintah yang digunakan adalah CREATE. CREATE digunakan untuk membuat basis data maupun objek-objek basis data. Sebagai contoh :
Syntax untuk membuat database :
CREATE DATABASE nama_database
Syntax untuk membuat tabel :
CREATE TABLE nama_tabel
Contoh lain :
CREATE TABLE [nama_tabel]
(
nama_field1 tipe_data [constraints][,
nama_field2 tipe_data,
...]
)
nama_field adalah nama
kolom (
field) yang akan dibuat. Beberapa sistem manajemen basis data mengizinkan penggunaan spasi dan karakter nonhuruf pada nama kolom.
tipe_data tergantung implementasi sistem manajemen basis data. Misalnya, pada
MySQL, tipe data dapat berupa
VARCHAR
,
TEXT
,
BLOB
,
ENUM
, dan sebagainya.
constraints adalah batasan-batasan yang diberikan untuk tiap kolom. Ini juga tergantung implementasi sistem manajemen basis data, misalnya
NOT NULL
,
UNIQUE
, dan sebagainya. Ini dapat digunakan untuk mendefinisikan
kunci primer (
primary key) dan
kunci asing (
foreign key).