MySQL - Check Constraints: A Panduan untuk Pemula

Hai sana, para penggemar basis data yang sedang berkembang! Saya sangat gembira menjadi panduan Anda dalam perjalanan ini melalui dunia MySQL Check Constraints. Sebagai seseorang yang telah mengajar ilmu komputer selama bertahun-tahun, saya tahu sendiri betapa menakutkan konsep baru bisa menjadi. Tetapi jangan khawatir - kita akan mengambil ini langkah demi langkah, dan pada akhirnya, Anda akan menjadi ahli Check Constraint!

MySQL - Check Constraints

Apa Itu Check Constraints?

Sebelum kita mendalam, mari mulai dari dasar. Bayangkan Anda membuat catatan usia teman-teman Anda. Anda tentu tidak ingin secara tidak sengaja memasukkan angka negatif atau yang sangat tinggi, kan? Itu adalah tempat Check Constraints berguna!

Check Constraint seperti seorang bouncer di klub - itu memeriksa apakah data yang memasuki tabel Anda memenuhi syarat tertentu. Jika tidak, itu tidak diizinkan masuk. Sederhana saja!

Check Constraint di MySQL

MySQL memperkenalkan Check Constraints di versi 8.0.16. Jika Anda menggunakan versi yang lebih awal, jangan khawatir - kita akan membahas metode alternatif menggunakan trigger nanti.

Mari mulai dengan contoh dasar:

CREATE TABLE friends (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT CHECK (age >= 0 AND age <= 120)
);

Dalam contoh ini, kita membuat tabel 'friends'. Constraint CHECK memastikan bahwa nilai 'age' berada antara 0 dan 120. Itu seperti memberitahu bouncer, "Hanya izinkan usia antara 0 dan 120!"

Check Constraint dengan Trigger

Untuk Anda yang menggunakan versi awal MySQL, jangan merasa terpinggirkan! Kita bisa mencapai fungsi yang sama menggunakan trigger. Mari lihat bagaimana:

DELIMITER //
CREATE TRIGGER check_age
BEFORE INSERT ON friends
FOR EACH ROW
BEGIN
IF NEW.age < 0 OR NEW.age > 120 THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Age must be between 0 and 120';
END IF;
END;//
DELIMITER ;

Trigger ini bertindak seperti bouncer kita, memeriksa setiap entri baru sebelum dimasukkan ke tabel.

Menambah Check Constraint pada Kolom Tunggal

Apa pun jika kita ingin memastikan bahwa nama dalam tabel 'friends' paling sedikit 2 karakter panjang:

ALTER TABLE friends
ADD CONSTRAINT check_name_length
CHECK (LENGTH(name) >= 2);

Sekarang, mencoba memasukkan nama yang pendek dari 2 karakter akan menghasilkan kesalahan. Itu seperti bouncer kita mengatakan, "Maaf, namamu terlalu pendek. Kamu tidak bisa masuk!"

Menambah Check Constraint pada Beberapa Kolom

kadang-kadang, kita perlu memeriksa beberapa kolom sekaligus. Misalnya, kita ingin memastikan bahwa nomor kesukaan seorang teman selalu kurang dari usia mereka:

ALTER TABLE friends
ADD COLUMN favorite_number INT,
ADD CONSTRAINT check_favorite_number
CHECK (favorite_number < age);

Constraint ini memeriksa dua kolom secara bersamaan. Itu seperti bouncer kita memeriksa ID dan tiket Anda sebelum membiarkan Anda masuk!

Menambah Check Constraint pada Tabel yang Sudah Ada

Apa pun jika kita sudah memiliki tabel dan ingin menambah Check Constraint? Tidak masalah! Kita dapat menggunakan perintah ALTER TABLE:

ALTER TABLE friends
ADD CONSTRAINT check_age
CHECK (age >= 0 AND age <= 120);

Ini menambahkan pemeriksaan usia ke tabel 'friends' yang sudah ada. Itu seperti mempekerjakan bouncer baru untuk klub yang sudah buka!

Menghapus Check Constraint

Kadang-kadang, kita mungkin perlu menghapus Check Constraint. Begini caranya:

ALTER TABLE friends
DROP CONSTRAINT check_age;

Ini menghapus constraint 'check_age' dari tabel 'friends'. Itu seperti mengatakan ke bouncer kita, "Kamu bisa pulang sekarang. Kita tidak lagi memerlukan pemeriksaan usia."

Check-Constraints Menggunakan Program Klien

Jika Anda menggunakan program klien seperti MySQL Workbench, Anda dapat menambah Check Constraints melalui GUI. Biasanya, itu ditemukan di bawah opsi 'Alter Table'. Ingat, SQL dasar masih dieksekusi - GUI hanya membuatnya lebih ramah pengguna!

Kesimpulan

Dan begitu, teman-teman! Anda baru saja mengambil langkah pertama Anda ke dalam dunia MySQL Check Constraints. Ingat, constraints ini adalah bouncer basis data Anda - mereka menjaga data buruk keluar dan memastikan hanya data yang bagus yang masuk.

Berikut adalah ringkasan metode yang kita bahas:

Metode Deskripsi
CREATE TABLE with CHECK Menambahkan constraint saat membuat tabel baru
Trigger Digunakan untuk versi MySQL awal
ALTER TABLE ADD CONSTRAINT Menambahkan constraint ke tabel yang sudah ada
ALTER TABLE DROP CONSTRAINT Menghapus constraint yang sudah ada

Praktikkan konsep ini, mainkan dengan constraints yang berbeda, dan sebelum Anda tahu, Anda akan menjadi bouncer basis data yang handal! Ingat, di dunia basis data, constraints yang bagus membuat tetangga yang bagus. Selamat coding!

Credits: Image by storyset