DATA DEFINITION LANGUAGE (DDL)
SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam database relasional. Dalam pengolahan database bahasa SQL dibagi kedalam 4 kategori menurut fungsinya, yaitu Data Definition Language (DDL), Data Manipulation Language(DML), Transaksi Contol Language (TCL), dan Data Control Language (DCL). Materi yang akan dibahas pada modul ini adalah Data Definition Language.
DDL (Data Definition Languange) merupakan sekumpulan set perintah yang bertujuan untuk mendefinisikan atribut – atribut database, tabel, atribut kolom (field), maupun batasan – batasan terhadap suatu atribut dan relasi/hubungan antar tabel. Yang termasuk dalam kelompok perintah DDL adalah : CREATE, ALTER, dan DROP. CREATE merupakan perintah DDL yang digunakan untuk membuat database maupun tabel. Nama database maupun tabel tidak boleh mengandung spasi (space). Nama database tidak boleh sama antar database.ALTER merupakan perintah DDL yang digunakan untuk mengubah nama/struktur tabel. DROP merupakan perintah DDL yang digunakan untuk menghapus database ataupun tabel.A. DATABASE
Syntax untuk membuat database sebagai berikut :
CREATE DATABASE namadatabase;
Berikut merupakan syntax untuk membuat database universitas :
CREATE DATABASE db_universitas;
Sedangkan syntax tambahan untuk menampilkan daftar nama database yang terdapat dalam database server pada MySQL menggunakan perintah :
SHOW DATABASES;
Sebelum kita membuat suatu tabel yang digunakan untuk menyimpan data, terlebih dahulu harus memilih/mengaktifkan salah satu database sebagai database aktif yang akan digunakan untuk menyimpan beberapa tabel yang akan kita buat. Untuk memilih/mengaktifkan salah satu database menggunakan syntax :
USE namadatabase;
Contohnya kita akan mengaktifkan database db_universitas :
USE db_universitas;
Selain perintah - perintah di atas, terdapat perintah yang berfungsi untuk menghapus database maupun tabel. Perintah tersebut adalah sebagai berikut
DROP DATABASE namadatabase;
Contohnya kita akan menghapus database coba: DROP DATABASE coba;
B. TABEL
1. Membuat Tabel
Nama tabel tidak boleh mengandung spasi (space). Ketika membuat tabel ada beberapa yang harus dideklarasikan dalam pembuatannya, yaitu antara lain meliputi : nama tabel, nama Field (Kolom), type data dari field dan panjang data. Adapun syntax yang digunakan untuk membuat tabel secara umum adalah sebagai berikut:
CREATE TABLE namatabel (Field1, TypeData1, Field2, TypeData2);
Contoh berikut syntax untuk membuat Tabel mahasiswa:
CREATE TABLE mahasiswa (nim CHAR (20), nama_mhs CHAR (50), login CHAR(20), pass CHAR(20), umur INT, ipk real,PRIMARY KEY(nim));
2. Menampilkan Tabel
Untuk menampilkan daftar nama tabel yang terdapat dalam database yang sedang aktif/digunakan menggunakan perintah :
SHOW TABLES;
Menampilkan deskripsi atribut table
Untuk menampilkan deskripsi atribut – atribut yang terdapat pada suatu tabel dengan menggunakan perintah:
DESC namatabel;
misalkan DESC mahasiswa;
3. Menghapus Tabel
Untuk menghapus Tabel perintahnya sama dengan untuk menghapus database yaitu dengan menggunakan perintah DROP. Syntax yang digunakan adalah:
DROP TABLE namaTabel;
Tabel yang akan dihapus harus sesuai dengan nama tabel. Misal kita akan menghapus tabel mahasiswa, maka syntax nya adalah:
DROP TABLE mahasiswa;
4. Mengubah Tabel
Mendefinisikan PRIMARY KEY pada Tabel
Suatu keharusan dalam suatu tabel adalah harus memiliki satu kolom yang dijadikan sebagai perwakilan dari tabel tersebut. Pembuatan perwakilan tabel ini berfungsi untuk melakukan hubungan/relasional dengan tabel lain. Bentuk perwakilan ini dalam database disebut sebagai PRIMARY KEY yang aturan pembuatannya adalah sebagai berikut:
• Satu tabel hanya diperbolehkan memiliki satu kolom kunci.
• Nama kolom kunci tidak digunakan pada kolom lain dalam satu table
• Nama kolom kunci tidak boleh sama dengan kolom kunci yang ada pada tabel lain
• Bentuk kolom kunci harus diset NOT NULL.
Terdapat tiga cara untuk mendefinisikan primary key. Berikut ini syntax yang digunakan:
CREATE TABLE mahasiswa (nim CHAR (20), nama_mhs CHAR (50), login CHAR(20), pass CHAR(20), umur INT,
ipk real, PRIMARY KEY(nim));
Atau
CREATE TABLE mahasiswa (nim CHAR (20) NOT NULL PRIMARY KEY, nama_mhs CHAR (50), login CHAR(20), pass CHAR(20), umur INT, ipk real);
atau
ALTER TABLE mahasiswa ADD CONSTRAINT
namaconstraint PRIMARY KEY (namakolom);
Coba buat perintah untuk membuat/menambahkan kolom pada tabel mahasiswa dengan kolom alamat type datanya char(100), sex type datanya enum(„P‟,‟W‟) dengan mendefinisikan nilai Not Null dan Primary key untuk kolom nim serta nilai default untuk kolom alamat.
Menghapus PRIMARY KEY pada Tabel
Cara 1: Jika primary key dibuat menggunakan alter table:
ALTER TABLE namatabel DROP CONSTRAINT namaconstraint;
Cara 2: jika primary key dibuat melalui create table:
ALTER TABLE namatabel DROP PRIMARY KEY;
Menambah kolom baru pada Tabel
Pada saat kita membuat tabel terkadang kita ingin menambahkan kolom lagi pada tabel yang sudah kita buat. Dalam database, hal ini dapat dilakukan dengan menggunakan perintah sebagai berikut:
ALTER TABLE namatabel ADD fieldbaru typedata(lebar);
Namatabel merupakan nama tabel yang akan ditambahkan kolomnya.
Filedbaru merupakan nama kolom yang akan ditambahkan, typedata(lebar) merupakan type data dan lebar data yang akan ditambahkan. Misal kita akan menambahkan kolom telepon pada tabel mahasiswa setelah kolom umur:
ALTER TABLE mahasiswa ADD COLUMN telepon
CHAR(15) AFTER umur;
Mengubah Tipe Data atau Lebar Kolom pada Tabel
Perintah yang digunakan adalah:
ALTER TABLE namatabel MODIFY COLUMN field type(lebar);
Contoh :
ALTER TABLE mahasiswa MODIFY COLUMN telepon(12);
Mengubah Nama Kolom (Field)
Perintah yang digunakan adalah:
ALTER TABLE namatabel CHANGE COLUMN namakolomlama namakolombaru typedatabaru(lebarbaru);
Contoh:
ALTER TABLE mahasiswa CHANGE COLUMN telepon phone CHAR(25);
Menghapus Kolom pada Tabel
Perintah yang digunakan:
ALTER TABLE namatabel DROP COLUMN namakolom;
Contoh:
ALTER TABLE mahasiswa DROP COLUMN phone;
Membuat dan Menghapus Index
Index berfungsi untuk mempercepat proses pencarian data dalam suatu tabel. Dengan adanya index pada suatu field tabel menyebabkan proses pencarian otomatis akan dilakukan terlebih dahulu ke dalam index, apabila ditemukan baru akan diambilkan data sesungguhnya dari tabel, apabila tidak ditemukan dalam index, sudah dapat dipastikan bahwa data tersebut tidak ada dalam tabel. Terdapat perintah untuk membuat dan menghapus index, tapi tidak ada perintah untuk merubah index. Perhatikan contoh berikut:
CREATE INDEX IDXNIM ON mahasiswa(nim);
Atau
ALTER TABLE mahasiswa ADD INDEX IDXNIM(nim);
Sedangkan untuk menghapus:
DROP INDEX IDXNIM ON mahasiswa;