Hallo blogger kali ini saya akan menjelaskan tentang perbedaan antara cascade, restrict, set null, no action pada relasi antar table database. Relasi antar table adalah hubungan antar table yang terbagi menjadi 3 jenis yaitu many to many, many to one dan one to many. Kali ini saya tidak fokus untuk membahas hal tersebut namun saya akan membahas ketika 2 table dihubungkan apa yang terjadi ketika salah satu table di edit / di hapus apakah akan terjadi error atau data akan hilang. Database sendiri sudah memberi jagaan ketika hal itu terjadi yaitu berupa cascade, set null, no action dan strict. berikut penjelasannya
- Cascade = apabila id pada table A dihapus maka table B juga ikut terhapus
- SET NULL = apabila id pada table A dihapus maka table B di set null
- No action = apabila id pada table A dihapus maka tidak dilakukan apa-apa
- Restrict = apabila id pada table A ingin dihapus maka tidak diperbolehkan jika di table B ditemukan ID yang berelasi
Untuk face settingnya adalah seperti ini
Masuk ke table yang berelasi kemudian pilih struktur tab à kemudian relation view à pada kolom Foreign Key Constraint à beri nama constraint à pilih on update sesuai dengan penjelasan diatas begitu juga dengan on delete.
Gambar Sintak Restrict Setelah Dijalankan merupakan tampilan kode program 3. 1 Sintak Restrict yang sudah berhasil dijalankan
2) Kaskade
Cascade dalam bahasa Indonesia bertingkat, maksudnya adalah bila data pada tabel induk di-delete atau di-update maka secara otomatis data pada tabel lain yang memiliki relasi akan di-delete atau di-update juga
Kode Program Sintak Cascade adalah sintak yang dapat digunakan untuk menambahkan refrential integrity constraint cascade.
Gambar Sintak Cascade merupakan tampilan dari Kode Program Sintak Cascade yang sudah berhasil dijalankan pada CMD
3) Tidak Ada Tindakan
No Action berarti mengabaikan referensi, artinya diperbolehkan untuk memperbarui, menghapus ataupun menambahkan data pada tabel, tetapi tidak akan berpengaruh pada data yang berelasi dengan tabel tersebut
Kode Program No Action merupakan sintak yang digunakan untuk menambahkan refrential integrity constraint cascade
Gambar No Action merupakan tampilan dari Kode Program No Action yang telah berhasil dijalankan
4) Tetapkan Null
Set null adalah menghapus atau meng-update baris data dalam tabel induk dan men-set kolom atau beberapa kolom dalam tabel anak menjadi null. hal ini akan valid jika kolom kunci asing tidak bukan nol. jika akan menggunakan set null bisa digunakan sintak On Delete Set Null dan On Update Set Null
Kode Program Sintak Set Null merupakan sintak yang digunakan untuk menambahkan refrential integrity constraint cascade dengan type set null
Gambar Sintak Set Null Setelah Dijalankan merupakan tampilan Kode Program Sintak Set Null yang berhasil dijalankan dalam CMD
5) Tetapkan Default
Perintah Set Default ini dibutuhkan oleh parser, tetapi InnoDB tidak menerima definisi tabel berupa On Delete Set Default atau On Delete Set Default
Kode Program Sintak Set Default merupakan sintak yang digunakan untuk menambahkan refrential integrity constraint cascade dengan type Set Default
Gambar Sintak Set Default merupakan tampilan Kode Program Sintak Set Default Setelah Dijalanakan
Baca Main. Bahasa Definisi Data (DDL). contoh dan gambar
Cara Mengubah Type Tabel dan Referential Integrity Constraint Dalam MySQL
Untuk Mengubah Type Tabel dan Referential Integrity Constraint dalam MYSQL dapa digunakn sintak alter
1) Mengganti Type Table
Untuk merubah type tabel yang sudah digunakan dalam database MYSQL dapat menggunakan sintak Alter
Kode Program Sintak Alter Tipe Tabel merupakan sintak Alter yang dpaat digunakan untuk mengubah tipe tabel yang sedang aktif atau digunakan dalam tabel.
Sintak tersebut jikan dijalankan maka tipe tabel yang digunakan dalam tabel karyawan akan berganti menjadi MyISAM dari tipe tabel default InnoDB seperti Gambar Sintak Alter Tipe Tabel
2) Kendala Integritas Referensial
Referential Integrity Constraint dapat diganti dengan sintak Alter yaitu dengan menghapus foreign key yang sudah ada lalu menambahkan dengan yang baru
Kode program Syntax Alter Foreign Key digunakan untuk menghapus foreign key yang sudah terbentuk sebelumnya
Kode program Alter Table Transaksi Add Foreign Key merupakan sintak yang digunkan untuk menambahkan foreign key baru pad tabel transaksi dengan type Refrential Integrity Constraint Restrict