Constraint dan Key dalam SQL

Constraint dalam SQL digunakan untuk menentukan aturan untuk data dalam tabel. Constraint dapat ditentukan saat tabel dibuat dengan pernyataan CREATE TABLE, atau setelah tabel dibuat dengan pernyataan ALTER TABLE.

Constraint digunakan untuk membatasi jenis data yang bisa masuk ke tabel. Ini memastikan keakuratan data dalam tabel saat kita menambahkan data baru dengan Insert. Jika ada pelanggaran terhadap aturan yang sudah ditentukan dengan constraint, suatu aksi tersebut akan dibatalkan. Constrasint dapat digunakan untuk kolom atau tabel.

  • 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. Kolom yang menjadi primary key hanya boleh ada satu dalam sebuah tabel.
  • FOREIGN KEY - Mencegah tindakan yang akan menghancurkan link antar tabel.
  • CHECK - Memastikan bahwa nilai dalam kolom memenuhi kondisi tertentu 
  • DEFAULT - Mengatur nilai bawaan atau default dari kolom jika tidak ada nilai yang ditentukan 
  • CREATE INDEX - Digunakan untuk membuat database diambil dengan sangat cepat
Syntax penggunaan constraint dalam statement create adalah seperti di bawah ini.
CREATE TABLE table_name (
    column1 tipe_data constraint,
    column2 tipe_data constraint1 constraint2,
    ....
);
Contoh Query
CREATE TABLE tabelku (
    id INT AUTO_INCREMENT PRIMARY KEY,
    Nama VARCHAR(64),
    Harga INT NOT NULL
);

Query di atas digunakan untuk membuat tabel dengan tiga kolom. Tabel Harga tidak boleh bernilai null sehingga nilainya harus disebutkan saat menggunakan insert. Kolom id digunakan sebagai Primary Key yang hanya boleh ada satu di dalam tabel. Selain itu, kolom id juga menggunakan auto increment yang akan membuat nilai id selalu berbeda setiap kali data baru ditambahkan.