Mengenal Constraints dan Cara Implementasi Constraints pada Database

Posted on 374 views

Melanjutkan artikel database yang sebelumnya sudah saya tulis tentang Data Type. Pada artikel sebelumnya sempat saya jelaskan untuk membatasi atau memberikan limit data yang diinputkan berdasarkan jenis data dapat dilakukan dengan menggunkaan tipe data. Selain data type terdapat rule atau atauran lagi yang dapat digunakan untuk membatasi satu data yang diinpukan pada suatu kolom di database yaitu adalah CONSTRAINTS.

Apa Itu Constraints ?

Constraints pada konsep relationship database merupakan suatu kondisi atau aturan yang digunakan untuk membatasi suatu kolom untuk dapat menyimpan data. Dengan menerapakan constraint pada suatu kolom memberikan batasan dalam melakukan perubahan dan pengahapusan suatu data pada suatu baris yang memiliki ketergantungan dengan data dari tabel lain.

<!– Kendala Domain: jika salah satu nilai atribut yang disediakan untuk tuple baru bukan dari domain atribut yang ditentukan

Kendala Kunci: jika nilai atribut kunci dalam tuple baru sudah ada di tuple lain dalam relasi

Referensi Integritas: jika nilai kunci asing dalam tupel baru merujuk nilai kunci utama yang tidak ada dalam hubungan yang dirujuk

Entity Integrity: jika nilai kunci utama adalah null dalam tuple baru

—————————————————-

Domain Constraint: if one of the attribute values provided for a new tuple is not of the specified attribute domain

Key Constraint: if the value of a key attribute in a new tuple already exists in another tuple in the relation

Referential Integrity: if a foreign key value in a new tuple references a primary key value that does not exist in the referenced relation

Entity Integrity: if the primary key value is null in a new tuple

———————————————————————————————————————-

Pada dasarnya constraint pada SQL terdapat 4 jenis yaitu :
Domain Constraint

Key Constraint

Referential Integrity

Entity Integrity

Mengapa membutuhkan Constraints?

untuk mengatur keterkaitan data antar tabel.

memberikan aturan sehingga data lebih terstruktur.
Membua
———————————————————————————————————————-
–>

Macam-macam Constraints pada Database

Terdapat beberapa constraints yang dapat diterapkan untuk dalam pembuatan database. Berikut ini beberapa contoh constraint beserta fungsinya :
ConstraintFungsi
PRIMARY KEYSuatu constraint yang diguankan pada kolom sebagai identitas pada masing-masing baris data pada suatu tabel. Berdasarkan sumber yang saya baca PRIMARY KEY constraint yang merupakan kombinasi dari 2 buah constraint yaitu UNIQUE, dan NOT NULL.
FOREIGN KEYPada relasional database memungkinkan suatu baris atau record menggunakan nilai dari PRIMARY KEY tabel lain yang akan digunakan untuk sebagai relasi antar tabel.
NOT NULLconstraint untuk mengatur suatu kolom wajib memiliki nilai (tidak dapat bernilai NULL).
UNIQUEconstraint yang digunakan untuk mengatur atau memberikan batasan pada suatu kolom memiliki tiap-tiap nilai yang tidak boleh sama (masing-masing record pada suatu kolom akan memiliki nilai yang berbeda).
Biasanya diterapkan pada kolom : username, email, nomor telephone
CHECKConstraint yang digunakan untuk memeriksa nilai yang diinputkan berdasarkan kondisi yang telah ditentukan.
DEFAULTConstraint yang digunakan untuk memberikan nilai default pada suatu kolom jika tidak ada nilai yang diinputkan.
INDEXConstraint yang digunakan untuk membuat dan mendapatkan kembali data dengan sangat cepat. Constraint INDEX biasanya digunakan pada database yang telah menampung data dengan jumlah yang sangat besar untuk menentukan mendapatkan nilai index dari satu atau beberapa kolom sebelum dilakukan sorting.
Dari beberapa constraint yang saya sebutkan pada di atas yang sering saya gunakan pada database untuk sistem yang saya kembangkan adalah PRIMAY KEY, FORIGEN KEY, NOT NULL, dan UNIQUE.

Cara Mengimplementasikan Constraint pada Database

Dalam  mengimplementasikan constraint pada saat dalam pembuataan database anda dapat mendeklarasikan atau mendefinisikan perintah yang menunjukan suatu constraint dapat dilakukan ketika anda mengeksekusi perintah CREATE untuk membuat suatu table database.
Untuk mengimplementasikan constraint ini saya akan menggunakan khasus sistem pemesanan product, berikut terdapat 2 cara untuk mengimplementasikan cosntraint pada pembuatan database yaitu :

1. Membuat Constrant pada Command Pembuatan Table

Mendeklarasikan query constraint secara langsung pada query yang anda gunakan untuk membuat tabel. Berikut contoh query untuk membuat table beserta constraint-nya (Query berikut dapat anda jalankan pada DBMS MYSQL) :

Bisa anda cermati untuk source code query untuk membuat table beserta constraint-nya di atas pembuatan table dieksekusi urut dari table user, product, order, dan order_detail. Untuk table order dan order_detail dieksekusi terakhir karena memiliki constrant dengan table user dan product. Jika table order dan order_detail dieksekusi terlebih dahulu maka akan berdampak error pada command query anda. Jadi jika anda menggunakan cara ini silahkan eksekusi terlebih dahulu commad query yang tidak memiliki constraint.

2. Membuat Table dan Constraint dengan Command Query Terpisah

Jika anda telah membuat table pada database namun anda belum membuat constraint-nya, sebenarnya anda bisa menambahkan constraint pada tabel yang telah anda buat yang berarti anda akan memodifikasi tabel yang telah anda buat dengan menggunkan perintah ALTER.
Untuk memanipulasi table kususnya mengatur dan constraints pada database dapat dilakukan dengan menggunkaan basic command  query berikut :

Menambahkan Constraints

ALTER TABLE nama_tabel ADD constraint;

Menghapus Constraints

ALTER TABLE nama_tabel DROP constraint;
Berikut ini step-by-step membuat table dan constraint dengan command query terpisah (Query berikut dapat dieksekusi pada DBMS MYSQL) :


Source Code Query untuk membuat Table


Source Code Query untuk membuat Constrants pada Table di atas

Berikut ini hasil dari database schema dari souece code query yang saya jalankan DBMS MYSQL
Gambar Hasil Database Schema di MYSQL

Refrensi :
w3schools.com
Stack Overflow | What are database constraints?

Sekian artikel kali tentang Constraints Database, banyak kekurangan dan kata-kata yang tidak berkenan saya mengucapkan mohon maaf. Terima Kasih…
~Semoga Bermanfaat~

Leave a Reply

Your email address will not be published. Required fields are marked *