Page 51 - E-MODUL BASIS DATA KELAS XI RPL
P. 51
4). Referential Integrity
Untuk mengatur Referential Integrity dapat dilakukan menggunakan statement FOREIGN KEY dan
REFERENCES. Syntax dan contoh penggunaan dari statement ini dapat dilihat pada berikut.
Pengaturan Referential Integrity seperti tersebut akan mencegah penambahan data (INSERT) atau
perubahan data (UPDATE) di kolom IdPem tabel Mobil jika nilai data hasil INSERT dan UPDATE tidak
sesuai dengan nilai salah satu data di kolom IdPem di tabel Pemilik. Sebaliknya Referential Integrity juga
mecegah agar pengguna tidak sebarangan menghapus record data yang terdapat di tabel Induk, karena
bias saja ada nilai data di tabel anak yang mengacu ke kolom primary key yang terdapat di tabel induk.
Jika ingin melakukan operasi DELETE pada record data di tabel induk, ada beberapa pengaturan
yang dapat dipilih, yaitu sebagai berikut.
a. NO ACTION
Pilihan ini menyebabkan operasi penghapusan data di tabel Induk akan dibatalkan jika ada record
data du tabel anak yang mengacu ke record data yang ingin dihapus. NO ACTION merupakan pilihan
jika statement ON DELETE tidak digunakan.
b. CASCADE
Pilihan ini menyebabkan jika sebuah record data dihapus ditabel induk, secara otomatis semua
record data di tabel anak yang mengacu kepadanya juga akan ikut dihapus. Pilihan ini sangat beresiko
terutama jika tabel anak merupakan tabel induk bagi abel lain. Oleh karena itu, pilihan ini tidak
disarankan untuk digunakan.
c. SET NULL
Pilihan ini menyebabkan jika sebuah record data di tabel induk dihapus maka secara otomatis record
data di tabel anak yang mengacu kepadanya akan diubah menjadi NULL.
d. SET DEFAULT
Pilihan ini menyebabkan jika sebuah record data di tabel induk dihapus, secara otomatis record data
di tabel anak yang mengacu kepadanya diubah menjadi nilai default. Namun, hal ini dapat terjadi jika
foreign key tersebut diatur mempunyai nilai default.
Pilihan pengaturan tersebut dilakukan dengan menggunakan kata kunci ON DELETE. Contoh
penggunaan statement SQL disertai dengan kata kunci ON DELETE adalah seperti yang ditunjukkanoleh
syntax berikut.