Langsung ke konten utama

Constrain pada FOREIGN KEY

Constraint atau batasan pada Foreign Key meliputi beberapa pilihan yang merupakan standar daripada SQL Server pada sebuah kolom dalam table. Berikut constraint untuk Foreign Key :
  1. ON DELETE ini digunakan untuk batasan apa yang terjadi apabila kita menghapus data dalam table. Dalam ON DELETE ada dua jenis yaitu ON DELETE CASCADE dan ON DELETE NO ACTION. ON DELETE CASCADE adalah aksi apa yang akan dilakukan terhadapa sebuah baris atau record dalam sebuah table jika table yang baris atau recordnya memiliki sebuah kerelasian terhadap satu atau beberapa table, pada ON DELETE CASCADE yang terjadi apabila record pada table referensi di hapaus, maka semua record yang mempunyai kerelasian terhadap table induk akan dihapus. Berbeda dengan ON DELETE NO ACTION, dimana akan terjadi pesan error jika salah satu record yang mempunyai kerelasian dihapus. 
  2. ON UPDATE ini juga memiliki kemiripan dengan ON DELETE tadi. Bedanya yaitu jika ON UPDATE CASCADE yaitu semua record yang mempunyai kerelasian, jika table induknya di update, maka table-table yang lain akan ikut di update. Sedangkan ON UPDATE NO ACTION akan ada pesan error jika record yang di ubah masih memiliki kerelasian dengan table lain. 
  3. Constraint identity membarikan nilai secara otomatis dan teratur. Contohnya yaitu identity (1,1). Maksudnya yaitu 1 yang pertama yaitu nilai awalnya kemudian 1 yang ke dua adalah jumlah kenaikan nilainya. 
  4. Constraint default digunakan untuk mengisi nilai table contohnya default 0 artinya tabel yang tidak diisikan nilai, akan secara otomatis mengisikan angka 0 di dalam tablenya. ini digunakan untuk menghindari NULL atau data kosong pada table. 
Berikut cara penerapan nya :
create table mahasiswa
(
 nim varchar (9) primary key,
 nama_mahasiswa varchar (50),
 ipk decimal(18,2) default 0,
 kd_dosen_wali varchar(3)constraint fk_dosen_wali
   foreign key references Dosen(kd_dosen)
   on delete cascade
   on update cascade
)

create table hoby
(
 kd_hoby int identity(1,1),
 nama_hoby varchar(50)
)

Artikel Terkait:

Mohon untuk membaca Kebijakan Privasi sebelum mengambil data dari blog ini atau sebelum berkomentar.

Komentar