Rabu, 12 Juni 2013

Pengertian Cascade dalam MySql

CASCADE adalah fungsi yang berguna untuk membuat relasi, Baris baris dalam tabel anak akan dihapus ketika baris yang berkaitan/relasi dihapus dan juga akan diupdate jika induk diupdate.

CONTOH PENGGUNAAN

On delete cascade adalah sebuah fitur yang diberikan untuk sebuah tabel yang berelasi  yang memungkinkan untuk menghapus data pada tabel anak apabila data pada tabel parent terhapus. Sintaks on delete cascade biasanya ditempatkan pada kalimat yang mendeklarasikan sebuah foreign key.

Untuk contoh sintaks pada ON DELETE dan ON UPDATE CASCADE :
Misal kita mempuyai 2 tabel, yakni obat dan pembelian. Kemudian kita relasikan kedua table berikut. Gunakan tipe tabel InnoDB, agar relasi tabel bisa berfungsi.


Sintaks Relasi :
ALTER TABLE pembelian ADD FOREIGN KEY (kodeobat) REFERENCES obat (kodeobat) ON DELETE CASCADE ON UPDATE CASCADE;


setelah itu baru kita ujicoba dengan menggunakan perintah Delete pada parent table (obat) :
DELETE FROM obat WHERE kodeobat='25';

Lalu kita tampilkan tabel ‘pembelian’ untuk melihat efek yang terjadi :


Karena kita menggunakan OPSI CASCADE pada ON DELETE dan ON UPDATE, maka bila kita menghapus salah satu record pada table induk maka record tersebut yang sebagai foreign key di tabel anak pun akan terhapus juga. Data pembelian obat dengan kodeobat=25 dihapus karena obat dengan kode tersebut telah dihapus dari parent table, yakni table obat .







Tidak ada komentar:

Posting Komentar