Constraint adalah batasan atau aturan yang ada pada
table. Constraint mencegah penghapusan data dari suatu table yang mempunyai
keterkaitan dengan table yang lain. Misal terdapat keterkaitan antara table
department dengan table pegawai. Dimana pada table pegawai menyimpan informasi
kolom nomer department yang juga terdapat pada table department. Jika baris
dengan nomer department ‘10’ akan dihapus dari table department, sedangkan
terdapat data pegawai yang bekerja pada department tersebut, maka dengan adanya
constraint antara dua table, penghapusan tersebut tidak bisa dilakukan.
Oracle menyediakan beberapa tipe constraint berikut :
NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK
NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK
1
Diatas adalah query untuk membuat table dengan
kriteria field (person_code varchar(3),first_name varchar(15),last_name
varchar(20),hire_date date) setelah tercipta table person kemudian dilakukan
perubahan terhadap table person yaitu menjadikan field first_name dan last_name
menjadi not null sehingga jika diisi dengan data yang mengandung null maka data
tidak akan bisa diinputkan.
Pada dasarnya diatas adalah sebuah constraint atau batasan dimana data yang sudah diberi batasan tidak dapat diisi atau diubah melampaui batas.Seperti contoh diatas constraint not null menandakan pada field tersebut tidak boleh kosong.
2
Query diatas adalah menciptakan
table myTable dengan kriteria (a number unique,b number), setelah tercipta
myTable kemudian diinputkan data (4,5
),(2,1) (9,8),(6,9),(null,9), (null,9)
kenapa null bisa dimasukan?karena pada wuery tersebut constraint yang digunakan adalah unique sehingga selama data tidak ada yang sama maka dianggap lolos atau boleh dimasukan.
3
Diatas adalah query untuk membuat table
dengan kriteria (a number check (a between 0 and 100),b number), type data
number dengan constraint check yaitu sebagai pembatas atas data yang akan
diinputkan yatiu pada field a rentang data yang dapat dimasukan adalah dari 0
sampai 100 sehingga diluar itu tidak akan dimasukan.
Kemudian dilakukan alter terhadap field b
dimana ditambhakan constraint check dengan rentang lebih dari 50, diluar itu
tidak akan dimasukan.Setelah dilakukan alter terhadap myTable selanjutnya
dilakukan insert data berupa (1,30) ,(2000,300), (2,300) dari ketiga data
diatas data yang akan masuka hanya data (2,300) karena 2 berada diantara 0-100
sedangkan 300 berada pada rentang angka lebih dari 50 sedangkan data yang lain
tidak memenuhi salah satu ketentuan misal (1,30), 30 <50 maka tidak terpenuhi
kemudian (2000,300) 2000 berada diluar rentang angka yang diperbolehkan yaitu
0-100.
Untuk lebih jelasnya silahkan download disini!