Constraint mengizinkan Anda untuk menjaga integritas data dan untuk menyaring data yang disimpan di dalam database. Dengan kalimat lain yang lebih sederhana, constraint adalah suatu aturan atau batasan yang mendefinisikan nilai atau data yang dapat disimpan di dalam database, baik melalui operasi INSERT, UPDATE, maupun DELETE.
Dalam SQL standar ANSI, constraint dibedakan menjadi empat, yaitu:
- Primary Key
- Foreign Key
- Unique
- Check
Primary Key
Primary key adalah suatu aturan yang berguna untuk memastikan bahwa setiap baris data di dalam suatu tabel bersifat unik (berbeda antara baris yang satu dengan yang lainnya). Primary key diterapkan pada kolom-kolom yang akan dijadikan sebagai pembeda. Sebgai contoh, perhatikan tabel di bawah ini:
id bank 1 Bank BCA 2 Bank Mandiri 3 Bank BNI 4 Bank BRI
Masing-masing baris data di atas dapat dibedakan berdasarkan kolom id (kode bank). Ini berarti bahwa nilai dari kolom id (kode bank) harus bersifat unik (tidak boleh sama) untuk setiap baris data yang ada. Dalam kasus semacam ini, kolom id (kode bank) dapat dijadikan sebagai primary key. Jika Anda mencoba untuk memasukkan baris data baru ke dalam tabel di atas dimana nilai id (kode bank) sama dengan nilai id (kode bank) dari baris data yang lain maka server database akan menolak dengan cara menampilkan pesan kesalahan.
Anda dapat mendefinisikan primary key yang terdiri atas beberapa kolom (tidak harus satu kolom), yang penting kombinasi nilai dari kolom-kolom bersangkutan harus bersifat unik untuk setiap baris data yang ada.
Aturan dalam pendefinisian primary key:
- Suatu tabel tidak dapat memiliki lebih dari satu primary key
- Kolom yang dijadikan primary key tidak boleh bertipe BLOB
- Nilai pada kolom yang didefinisikan sebagai primary key harus bersifat unik dan tidak boleh NULL.