Section Artikel
- 1 Constraint SQL CHECK
- 1.1 SQL CHECK pada CREATE TABLE
- 1.2 CHECK SQL pada ALTER TABLE
- 1.3 CHECK SQL pada DROP TABLE
Constraint SQL CHECK
Constraint CHECK digunakan untuk membatasi kisaran nilai yang dapat ditempatkan di kolom.
Jika ingin menentukan constraint CHECK pada satu kolom, hanya memungkinkan nilai tertentu untuk kolom ini.
Jika ingin menentukan constraint CHECK pada tabel, itu bisa membatasi nilai di kolom tertentu berdasarkan nilai di kolom lain di baris.
SQL CHECK pada CREATE TABLE
SQL berikut membuat constraint CHECK pada kolom “Usia” saat tabel “Person” dibuat. Constraint CHECK akan memastikan bahwa usia seseorang harus berusia 18 tahun atau lebih dengan menggunakan syntax berikut ini:
MySQL:
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Usia int, CHECK (Age>=18) );
Akses SQL Server / Oracle / MS:
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Usia int CHECK (Age>=18) );
Untuk melakukan penamaan constraint CHECK dan untuk menentukan constraint CHECK di beberapa kolom, gunakan sintaks SQL berikut ini:
Akses MySQL / SQL Server / Oracle / MS:
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Usia int, City varchar(255), CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes') );
CHECK SQL pada ALTER TABLE
Untuk membuat constraint CHECK pada kolom “Usia” ketika tabel sudah dibuat, gunakan SQL berikut ini:
Akses MySQL / SQL Server / Oracle / MS:
ALTER TABLE Persons ADD CHECK (Usia >=18);
Untuk melakukan penamaan constraint CHECK dan untuk menentukan constraint CHECK di beberapa kolom, gunakan sintaks SQL berikut ini:
Akses MySQL / SQL Server / Oracle / MS:
ALTER TABLE Persons ADD CONSTRAINT CHK_PersonAge CHECK (Usia>=18 AND Kota='Sandnes');
CHECK SQL pada DROP TABLE
Untuk menghapus constraint CHECK, gunakan SQL berikut ini:
Akses SQL Server / Oracle / MS:
ALTER TABLE Persons DROP CONSTRAINT CHK_PersonUsia;
MySQL:
ALTER TABLE Persons DROP CHECK CHK_PersonUsia;
SQL Constraint biasa digunakan untuk menentukan aturan untuk data dalam tabel.
SQL Create Contraints
Constraints dapat ditentukan saat tabel dibuat dengan pernyataan CREATE TABLE atau setelah tabel dibuat dengan pernyataan ALTER TABLE.
Syntax
CREATE TABLE table_name ( column1 datatype constraint, column2 datatype constraint, column3 datatype constraint, .... );
SQL Constraints
Constraints SQL digunakan untuk menentukan aturan untuk data dalam tabel.
Constraints digunakan untuk membatasi jenis data yang bisa masuk ke dalam tabel. Ini memastikan keakuratan dan keandalan data dalam tabel. Jika ada pelanggaran antara batasan dan tindakan data, maka tindakan tersebut dibatalkan.
Batasan dapat berupa tingkat kolom atau tingkat tabel. Batasan tingkat kolom berlaku untuk kolom, dan batasan tingkat tabel berlaku untuk seluruh tabel.
Batasan berikut biasanya digunakan dalam SQL:
- NOT NULL – Memastikan bahwa kolom tidak dapat memiliki nilai NULL
- UNIQUE- Memastikan bahwa semua nilai dalam kolom berbeda
- PRIMARY KEY – Kombinasi dari NOT NULL dan UNIQUE. Secara unik mengidentifikasi setiap baris dalam tabel
- FOREIGN KEY – Secara unik mengidentifikasi baris / catatan di tabel lain
- CHECK – Memastikan bahwa semua nilai dalam kolom memenuhi kondisi tertentu
- DEFAULT – Menetapkan nilai default untuk kolom ketika tidak ada nilai yang ditentukan
- INDEX – Digunakan untuk membuat dan mengambil data dari database dengan sangat cepat
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.
Macam-macam Constraints pada Database
Terdapat beberapa constraints yang dapat diterapkan untuk dalam pembuatan database. Berikut ini beberapa contoh constraint beserta fungsinya :
Constraint | Fungsi |
PRIMARY KEY | Suatu 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 KEY | Pada relasional database memungkinkan suatu baris atau record menggunakan nilai dari PRIMARY KEY tabel lain yang akan digunakan untuk sebagai relasi antar tabel. |
NOT NULL | constraint untuk mengatur suatu kolom wajib memiliki nilai (tidak dapat bernilai NULL). |
UNIQUE | constraint 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 |
CHECK | Constraint yang digunakan untuk memeriksa nilai yang diinputkan berdasarkan kondisi yang telah ditentukan. |
DEFAULT | Constraint yang digunakan untuk memberikan nilai default pada suatu kolom jika tidak ada nilai yang diinputkan. |
INDEX | Constraint 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_tabelADD
;
Menghapus Constraints
ALTER TABLE
nama_tabelDROP
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~