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 Show
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.
2) KaskadeCascade 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. Tambahkan teksGambar Sintak Cascade
3) Tidak Ada TindakanNo 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 CREATE TABLE prestasi( kode CHAR(6) NOT NULL, id_p INT NOT NULL, prestasi VARCHAR(255) NOT NULL, keterangan TEXT, PRIMARY KEY (kode), FOREIGN KEY (id_p) REFERENCES pegawai(id_p) ON DELETE NO ACTION ON UPDATE NO ACTION ) ENGINE=INNODB; 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 NullSet 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 CREATE TABLE prestasi( kode char(6) NOT NULL, kode_karyawan char(6), prestasi varchar(255) NOT NULL, keterangan text, PRIMARY KEY (kode), FOREIGN KEY (kode_karyawan) REFERENCES karyawan (kode) ON DELETE SET NULL ) ENGINE=InnoDB;
Kode Program Sintak Set Null merupakan sintak yang digunakan untuk menambahkan refrential integrity constraint cascade dengan type set null
5) Tetapkan DefaultPerintah Set Default ini dibutuhkan oleh parser, tetapi InnoDB tidak menerima definisi tabel berupa On Delete Set Default atau On Delete Set Default CREATE TABLE prestasi( kode char(6) NOT NULL, kode_karyawan char(6), prestasi varchar(255) NOT NULL, keterangan text, PRIMARY KEY (kode), FOREIGN KEY (kode_karyawan) REFERENCES karyawan (kode) ON DELETE SET DEFAULT ) ENGINE=MyISAM;_ Kode Program Sintak Set Default merupakan sintak yang digunakan untuk menambahkan refrential integrity constraint cascade dengan type Set Default Gambar Sintak Atur Default
Baca Main. Bahasa Definisi Data (DDL). contoh dan gambar Cara Mengubah Type Tabel dan Referential Integrity Constraint Dalam MySQLUntuk Mengubah Type Tabel dan Referential Integrity Constraint dalam MYSQL dapa digunakn sintak alter 1) Mengganti Type TableUntuk merubah type tabel yang sudah digunakan dalam database MYSQL dapat menggunakan sintak Alter ALTER TABLE karyawan ENGINE=MyISAM; 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 ReferensialReferential Integrity Constraint dapat diganti dengan sintak Alter yaitu dengan menghapus foreign key yang sudah ada lalu menambahkan dengan yang baru ALTER TABLE transaksi DROP FOREIGN KEY transaksi_ibfk_1;_ Kode program Syntax Alter Foreign Key digunakan untuk menghapus foreign key yang sudah terbentuk sebelumnya ALTER TABLE transaksi ADD FOREIGN KEY(id_penumpang) REFERENCES penumpang(id_penumpang) ON UPDATE RESTRICT ON DELETE RESTRICT; 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 Apa itu disetel nol?SET NULL adalah jika kita menghapus atau mengubah baris data dalam tabel A secara otomatis akan mengubah baris pada tabel B menjadi NULL pada kolom yang terelasi. Hal ini dapat dilakukan jika kolom foreign key tidak memiliki pengaturan NOT NULL .
Apa itu Cascade di mysql?CASCADE adalah fungsi yang berguna untuk membuat relasi. Baris baris dalam tabel anak akan dihapus ketika baris yang berkaitan/berelasi dihapus (ON DELETE) dan/atau juga akan diupdate jika tabel induk diupdate (ON UPDATE).
Apa yang dimaksud dengan On delete cascade?Klausul ON DELETE CASCADE berarti bahwa jika pelanggan telah dihapus dari tabel Customer, semua baris di tabel Orders yang berisi nilai pengidentifikasi pelanggan yang sama juga akan dihapus. |