Pengertian Cascade Dan Restrict Pada Database MySQL

Dalam hal mendesain database, saya selalu menggunakan store engine INNODB, karena pada store engine ini kita di berikan fasilitas untuk meng-handle data yang bersifat transaksional. Jadi kita bisa melakukan relasi antar table di database. Keuntungan selain bisa di generate menjadi ER-Diagram juga untuk menjaga konsistensi data. Istilah keren dari feature tersebut adalah Referential Integrity.

Ada 2 jenis Referential Integrity pada database MySQL, yaitu Restrict dan Cascade.

Pada  Navicat  default-nya adalah cascade untuk update dan delete, saya tidak tahu di aplikasi lain seperti HeidiSQL dan Toad itu default-nya apa, tapi yang terpenting adalah kita harus tahu apa itu Restrict dan apa itu Cascade ?

 

Table  Buku pada gambar di atas adalah table induk / table parent atau bisa juga kita sebut sebagai table master. Sedangkan table inventaris  adalah table yang menyimpan data transaksi. Maksud dari Referential integrity adalah ketika kita merubah data record di table master (Buku) maka perubahan tersebut tidak mengganggu konsistensi data pada table inventaris.

Ada 2 action yang bisa di config oleh kita, yaitu On Update (saat record data di update) dan On Delete (saat record data di delete). Tiap action memiliki 2 pilihan penting yaitu restrict dan cascade. Sebenarnya ada pilihan lain seperti NULL dan No Action, tapi 2 ini jarang di gunakan.

Restrict adalah perubahan data di table master tidak di perkenankan dan akan menghasilkan error apabila data tersebut berelasi dengan table transaksi. Artinya, Kita tidak bisa merubah data ditable buku yang field-nya berelasi dengan table inventaris, sebelum kita merubah data di table inventaris ( yang tidak bisa dirubah adalah field yang berelasi antar tabel yaitu kodebk)

Sedangkan Cascade adalah perubahan data di table master otomatis akan merubah data di table transaksi mengikuti perubahan di table master. Artinya, apabila kita merubah data di table buku maka data di table inventaris otomatis akan berubah mengikuti perubahan di table buku. ( yang berubah adalah field yang berelasi antar tabel yaitu kodebk )

Selanjutnya, apa yang perlu kita pilih dari Restrict dan Cascade ? Semua kembali kepada kebutuhan aplikasi yang ingin kita bangun dan hanya kita sebagai developer aplikasi tersebut yang bisa menganalisa kebutuhan-nya.



Lokasi Cursor Dan Type Penguncian Dalam VB 6

No comments:

Post a Comment