Pengertian DDL
DDL (Data Definition Language) adalah bahasa yang digunakan untuk mendefinisikan struktur database, termasuk tabel, kolom, dan constraint. DDL digunakan untuk membuat, mengubah, atau menghapus objek database seperti tabel, indeks, atau constraint.
Perbedaan antara DDL dan DML
DDL dan DML (Data Manipulation Language) adalah dua jenis bahasa SQL yang berbeda. DDL digunakan untuk mendefinisikan struktur database, sedangkan DML digunakan untuk memanipulasi data dalam tabel. DDL berfokus pada objek database, sedangkan DML berfokus pada data yang terkait dengan objek tersebut.
CREATE DATABASE
CREATE DATABASE digunakan untuk membuat database baru di server MySQL.
Syntax:
CREATE DATABASE nama_database;
Contoh:
CREATE DATABASE perpustakaan;
DROP DATABASE
DROP DATABASE digunakan untuk menghapus database dari server MySQL.
Syntax:
DROP DATABASE nama_database;
Contoh:
DROP DATABASE perpustakaan;
CREATE TABLE
CREATE TABLE digunakan untuk membuat tabel baru dalam database.
Syntax:
CREATE TABLE nama_tabel (
kolom1 tipe_data,
kolom2 tipe_data,
...
kolomN tipe_data
);
Contoh:
CREATE TABLE buku (
id_buku INT PRIMARY KEY,
judul_buku VARCHAR(255) NOT NULL,
pengarang VARCHAR(100),
penerbit VARCHAR(100),
tahun_terbit YEAR,
jumlah_halaman INT,
id_kategori INT,
FOREIGN KEY (id_kategori) REFERENCES kategori(id_kategori)
);
ALTER TABLE
ALTER TABLE digunakan untuk mengubah struktur tabel yang sudah ada.
Syntax:
ALTER TABLE nama_tabel ADD kolom tipe_data;
ALTER TABLE nama_tabel MODIFY kolom tipe_data;
ALTER TABLE nama_tabel DROP kolom;
Contoh:
ALTER TABLE buku ADD sinopsis TEXT;
ALTER TABLE buku MODIFY judul_buku VARCHAR(200);
ALTER TABLE buku DROP penerbit;
DROP TABLE
DROP TABLE digunakan untuk menghapus tabel dari database.
Syntax:
DROP TABLE nama_tabel;
Contoh:
DROP TABLE buku;
Latihan
Berikut ini adalah contoh latihan DDL (Data Definition Language) untuk membuat struktur database perpustakaan:
-- membuat database
CREATE DATABASE perpustakaan;
-- menggunakan database
USE perpustakaan;
-- membuat tabel buku
CREATE TABLE buku (
kode_buku INT PRIMARY KEY,
judul_buku VARCHAR(255),
pengarang VARCHAR(255),
tahun_terbit INT
);
-- membuat tabel anggota
CREATE TABLE anggota (
kode_anggota INT PRIMARY KEY,
nama_anggota VARCHAR(255),
alamat VARCHAR(255),
nomor_telepon VARCHAR(20)
);
-- membuat tabel peminjaman
CREATE TABLE peminjaman (
kode_pinjam INT PRIMARY KEY,
kode_buku INT,
kode_anggota INT,
tanggal_pinjam DATE,
tanggal_kembali DATE,
FOREIGN KEY (kode_buku) REFERENCES buku(kode_buku),
FOREIGN KEY (kode_anggota) REFERENCES anggota(kode_anggota)
);
Di atas, terdapat beberapa perintah DDL yang digunakan untuk membuat struktur database perpustakaan. Pertama, perintah CREATE DATABASE
digunakan untuk membuat database baru dengan nama perpustakaan
. Kemudian, perintah USE
digunakan untuk beralih ke database yang baru dibuat.
Selanjutnya, terdapat tiga perintah CREATE TABLE
untuk membuat tabel-tabel yang diperlukan untuk database perpustakaan. Tabel buku
memiliki empat kolom yaitu kode_buku
, judul_buku
, pengarang
, dan tahun_terbit
. Tabel anggota
memiliki empat kolom yaitu kode_anggota
, nama_anggota
, alamat
, dan nomor_telepon
. Tabel peminjaman
memiliki lima kolom yaitu kode_pinjam
, kode_buku
, kode_anggota
, tanggal_pinjam
, dan tanggal_kembali
, dan memiliki dua buah foreign key yang merujuk ke tabel buku
dan anggota
.
Perintah DDL untuk membuat index pada tabel:
CREATE INDEX idx_nama_buku ON buku(judul_buku);
Perintah ini akan membuat index baru pada kolom judul_buku
di tabel buku
dengan nama index idx_nama_buku
. Index memungkinkan pencarian data menjadi lebih cepat.
Perintah DDL untuk mengubah kolom pada tabel:
ALTER TABLE buku MODIFY COLUMN tahun_terbit VARCHAR(4);
Perintah ini akan mengubah tipe data dari kolom tahun_terbit
pada tabel buku
menjadi VARCHAR(4). Perubahan kolom dapat dilakukan jika diperlukan, namun harus dipastikan bahwa perubahan tersebut tidak akan merusak data yang telah ada pada tabel.
Perintah DDL untuk menghapus tabel:
DROP TABLE anggota;
Perintah ini akan menghapus tabel anggota
beserta seluruh data yang ada di dalamnya. Perintah DROP TABLE harus digunakan dengan hati-hati, karena tidak dapat dibatalkan dan akan menghapus seluruh data pada tabel tersebut.
Perintah DDL untuk mengubah nama tabel:
ALTER TABLE peminjaman RENAME TO peminjaman_buku;
Perintah ini akan mengubah nama tabel peminjaman
menjadi peminjaman_buku
. Perubahan nama tabel dapat dilakukan jika diperlukan, namun harus dipastikan bahwa perubahan tersebut tidak akan merusak referensi tabel pada aplikasi yang terkait.