Membuat Database dan Tabel di MySQL

Muhammad Arslan 25 Januari 2017

Membuat Database dan Tabel di MySQL

MySQL sebagai salah satu relational database management system atau RDBMS yang populer di kalangan programmer merupakan salah satu database yang sudah berumur. Diciptakan oleh Michael Widenius, pada akhirnya MySQL diakusisi oleh Oracle dan kini memiliki saudara yang bernama MariaDB.

Meski begitu, MySQL masih banyak digunakan developer aplikasi selain itu kampus pun masih banyak mengajarkan database dengan menggunakan MySQL. Sudah saatnya memang kampus menggunakan MariaDB bila aware dengan open source.

Walaupun ada sedikit cerita diantara mereka berdua. Kita masih dapat menggunakan MySQL dan akan mudah berpindah ke MariaDB bila kita sudah siap. Sebagai contoh sekarang kita akan membuat sebuah database bioskop yang menangani aplikasi pembelian tiket film.

Membuat Database

Disini kamu tidak akan mempelajari bagaimana membuat aplikasi dengan bahasa pemrograman tertentu. Kamu hanya akan mempelajari SQL murni dan fokus pada sisi database saja.

Sebagai langkah awal kita akan membuat sebuah database terlebih dahulu. Diasumsikan kamu sudah mengetahui cara install MySQL entah itu standalone ataupun melalui paketan seperti XAMPP.

Sekarang mari kita buat database di MySQL dengan perintah berikut:

CREATE DATABASE bioskop;

Bila berhasil kamu dapat melihat database dengan perintah berikut:

SHOW DATABASES;

Membuat Tabel

Sekarang mari kita buat beberapa tabel yang akan digunakan untuk menangani pembelian tiket film:

CREATE TABLE operator(
	id VARCHAR (20) NOT NULL,
	nama VARCHAR (50) NOT NULL,
	password VARCHAR(100) NOT NULL,
	created_at DATETIME NOT NULL,
	updated_at TIMESTAMP,
	PRIMARY KEY (id)
);

CREATE TABLE film (
	id VARCHAR (20) NOT NULL,
	judul VARCHAR (50) NOT NULL,
	deskripsi TEXT,
	rating VARCHAR (50) NOT NULL,
	produksi VARCHAR(100) NOT NULL,
	distributor VARCHAR(100) NOT NULL,
	durasi INT NOT NULL,
	country VARCHAR(50) NOT NULL,
	created_at DATETIME NOT NULL,
	updated_at TIMESTAMP,
	PRIMARY KEY (id)
);

CREATE TABLE teater (
	id VARCHAR (20) NOT NULL,
	nama VARCHAR (50) NOT NULL,
	created_at DATETIME NOT NULL,
	updated_at TIMESTAMP,
	PRIMARY KEY (id)
);

-- foreign key: teater_id
CREATE TABLE kursi (
	id VARCHAR (20) NOT NULL,
	nama VARCHAR (50) NOT NULL,
	teater_id VARCHAR(20) NOT NULL,
	created_at DATETIME NOT NULL,
	updated_at TIMESTAMP,
	PRIMARY KEY (id)
);

-- foreign key: film_id, teater_id
CREATE TABLE jadwal (
	id VARCHAR (20) NOT NULL,
	hari VARCHAR (50) NOT NULL,
	jam VARCHAR(20) NOT NULL,
	harga INT NOT NULL,
	film_id VARCHAR(20) NOT NULL,
	teater_id VARCHAR(20) NOT NULL,
	created_at DATETIME NOT NULL,
	updated_at TIMESTAMP,
	PRIMARY KEY (id)
);

-- foreign key: operator_id, jadwal_id, kursi_id, 
CREATE TABLE transaksi (
	id VARCHAR(20) NOT NULL,
	operator_id VARCHAR(20) NOT NULL,
	jadwal_id VARCHAR(20) NOT NULL,
	kursi_id VARCHAR(20) NOT NULL,
	jumlah_dibayar INT NOT NULL,
	kembalian INT NOT NULL,
	created_at DATETIME NOT NULL,
	PRIMARY KEY (id)
);

Pada kode diatas kamu dapat membuat sebuah tabel dengan perintah CREATE TABLE. Kemudian ada tipe data berupa INT, VARCHAR, TEXT, DATETIME dan TIMESTAMP. Untuk tipe data VARCHAR kamu harus menentukan berapa panjang maksimal dari kolom tersebut. Tipe INT dapat kamu tentukan panjang angka yang akan digunakan. Sedangkan TIMESTAMP akan selalu diisi secara otomatis oleh MySQL saat baris baru dibuat.

Kemudian ada juga atribut tambahan NOT NULL dimana kolom tersebut tidak boleh kosong saat proses insert. Kemudian ada penentuan PRIMARY KEY dimana kolom tersebut akan menjadi pembeda antar kolom agar mencegah data dengan id sama memiliki dua baris yang sama.

Bila berhasil seharusnya Anda dapat melihat daftar tabel dengan perintah berikut:

SHOW TABLES;

Menghapus Tabel dan Database

Untuk menghapus suatu tabel di MySQL. Kamu harus menghapus dari yang memiliki relasi paling banyak bila kamu mengaturnya dari awal seperti itu. Tabel yang digunakan oleh tabel lain sebagai referensi tidak akan dapat dihapus sampai tabel anak dapat dihapus.

Untuk menghapus suatu tabel dapat menggunakan perintah DROP TABLE seperti berikut:

DROP TABLE transaksi;
DROP TABLE jadwal;
DROP TABLE kursi;
DROP TABLE teater;
DROP TABLE film;
DROP TABLE operator;

Sedangkan untuk menghapus database dapat menggunakan perintah DROP DATABASE:

DROP DATABASE bioskop;

(arslan)