Referential Integrity merupakan bagian dari fitur Master/Detail di PHPMaker, yang akan memastikan bahwa data di table Detail tidak dapat ditambah atau diubah jika data tersebut tidak terkait dengan Foreign Key di table Master-nya. Artinya, PHPMaker akan mencegah Pengguna menambah data di table Detail jika tidak mengandung data yang terkait di table Master.
Dengan mengaktifkan item pengaturan Referential Integrity tadi, maka PHPMaker akan membangkitkan kode di Aplikasi Web yang akan selalu memeriksa apakah data kunci di table Detail yang akan ditambahkan mengacu kepada data yang valid di table Master atau induknya.
Jika tidak valid, maka sistem akan menampilkan pesan bahwa data yang akan ditambahkan tidak terkait dengan data yang valid di table Master. Seketika itu juga sistem akan membatalkan proses penambahan atau pengubahan data.
Itulah kenapa disebut dengan istilah Referential Integrity, yang artinya kurang lebih memastikan terintegritasnya (terjaminnya relasi antara) data yang terkait di table Master dan Detail. Jika Anda pernah menggunakan database Microsoft Access, maka istilah ini pun digunakan di sana.
Bayangkanlah sekarang jika Anda harus menangani ini secara manual di Aplikasi Web yang Anda bangun. Berapa lama waktu dan usaha yang harus Anda lakukan? Apalagi jika Anda harus menerapkan hal ini kepada beberapa table sekaligus yang jumlahnya relatif banyak? Bisa puluhan atau ratusan table?
Bandingkanlah dengan fitur dan kemudahan yang telah disediakan oleh PHPMaker ini.
Itu artinya, Web Developer tidak perlu lagi memikirkan hal-hal teknis seperti ini. Web Developer cukup berkonsentrasi dalam mengimplementasikan business-process di Aplikasi Web. Untuk urusan teknis seperti ini, serahkan saja kepada PHPMaker.
Bagaimana dengan Anda? Apakah Anda masih menulis kode yang jumlahnya sampai ratusan atau ribuan baris hanya untuk mengimplementasikan fitur Referential Integrity ini? Apakah hidup Anda sebagai Web Developer masih harus memikirkan hal-hal teknis seperti ini?
Hehehe… 🙂
mas windows mengatakan
“Apakah hidup Anda sebagai Web Developer masih harus memikirkan hal-hal teknis seperti ini?”
Sudah tidak lagi 🙂
Nanda mengatakan
Pak Masino , saya buat Tabel Master-Detail sudah saya aktifkan Refential Integrity, Cascade Delete, Cascade Edit.
tapi ketika melakukan aksi Delete dari Tabel Master kok muncul pesan error ya ?
error nya seperti ini :
Failed to execute SQL. Error: Can not delete from join view ‘tb_master.view1’
(pesan error tersebut muncul sebanyak jumlah Record di tabel Detail)
saya buat Master- Detail (detail nya pakai View), Meskipun muncul error tersebut tapi Data di Tabel Detail terkait tetap berhasil dihapus.
kira-kira apa penyebabnya ya pak ?
Masino Sinaga mengatakan
Tidak bisa dijawab sebelum melihat langsung dari dalam project-nya.
NGAWI DIAN mengatakan
ulasan yang sangat menarik sekali……….