Daster Exclusive dengan Material Rayon Premium, bahan lembut, jatuh dan dingin, tidak terawang serat rapat. Nyaman untuk sehari-hari agar kelihatan makin menarik.
Constraint dalam database MySQL digunakan untuk menentukan aturan yang memelihara data dalam tabel untuk memastikan validitas, akurasi, konsistensi, dan keandalan data.
Menerapkan constraint pada data dalam database relasional berfungsi untuk mengontrol tipe data yang disimpan dalam tabel. Ini akan memaksa MySQL untuk menolak proses yang melanggar aturan yang ditentukan.
Misalnya:
Anda harus berusia 18 tahun di banyak negara untuk mengajukan SIM. Dalam hal ini, Anda dapat menerapkan batasan SQL CHECK pada kolom yang relevan di tabel terkait dalam database untuk membatasi pendaftaran siapa pun yang berusia di bawah 18 tahun.
Contoh lain adalah di kebanyakan universitas saat ini, setiap mahasiswa akan didaftarkan dengan alamat email yang berisi nama domain universitas.
Anda dapat menerapkan batasan UNIQUE untuk memastikan bahwa universitas tidak memberikan alamat email yang sama kepada dua mahasiswa.
Dalam kasus ini, jika ada konflik antara batasan dan proses penyisipan atau pembaruan data, proses yang melanggar aturan constraint akan dibatalkan.
A) Tipe constraints
Ada 3 type constraint, diantaranya sebagai berikut :
1) Domain Constraints
Batasan domain mengacu pada aturan khusus yang ditentukan untuk nilai yang dapat disimpan untuk kolom tertentu.
Untuk menerapkan ini, Anda harus menentukan nilai data apa yang diizinkan dan mana yang harus ditolak.
Misalnya:
Anda dapat menentukan nomor rentang yang valid bagi pengguna untuk menilai layanan streaming yang menawarkan berbagai acara TV dan film.
Kisaran ini bisa berupa angka antara 3 dan 10, dalam hal ini pengguna tidak akan dapat memasukkan nilai yang lebih dari 10 dan kurang dari 3.
2) Key Constraints
Ada berbagai jenis key dalam database relasional. Misalnya, setiap tabel harus memiliki primary key yang menjaga integritas tabel.
Primary key memastikan tidak ada duplikasi catatan dalam tabel yang sama. Juga, ini memungkinkan mengidentifikasi setiap catatan data menggunakan nilai primary key. Oleh karena itu, harus unik di setiap baris tabel, dan tidak boleh berisi nilai null.
Misalnya:
setiap warga negara yang tinggal di Denmark harus memiliki nomor pribadi unik yang dapat digunakan untuk mengakses berbagai jenis layanan negara.
3) Referential Integrity Constraints
Dalam database relasional, tabel dihubungkan melalui foreign key di satu tabel yang ditautkan ke foreign key (atau kunci unik) di tabel lain.
Ini menyiratkan bahwa nilai kolom foreign key di tabel 'referensi' juga harus ada di tabel yang direferensikan. Jika tidak, Anda akan berakhir dengan masalah karena "koneksi" antara catatan tabel akan berhenti.
Oleh karena itu, mempertahankan integritas referensial mengharuskan nilai foreign key harus memiliki nilai primary key yang cocok untuk menautkan rekaman tabel terkait yang berbeda.
B) Studi Kasus
sample bassic mysql bagian 6 - constraint // source image coursera
Dari gambar diatas kita akan membuat 3 table yaitu: Clients, Orders, Items
Tugas 1: Buat tabel Clients dengan kolom dan constraint berikut.
ClientID: INT, NOT NULL dan PRIMARY KEY
FullName: VARCHAR(100) NOT NULL
PhoneNumber: INT, NOT NULL dan UNIQUE
Tugas 2: Buat tabel Items dengan atribut dan constraint berikut:
ItemID: INT, NOT NULL dan PRIMARY KEY
ItemName: VARCHAR(100) dan NOT NULL
Price: Decimal(5,2) dan NOT NULL
Tugas 3: Buat tabel Orders dengan constraint berikut.
OrderID: INT, NOT NULL dan PRIMARY KEY
ClientID: INT, NOT NULL dan FOREIGN KEY
ItemID: INT, NOT NULL dan FOREIGN KEY
Quantity: INT, NOT NULL dan maksimal barang yang di perbolehkan dalam setiap pemesanan hanya 3 saja