Mengenal Pengaturan Master/Detail pada Table Setup di PHPMaker

Author: · Published: October 16, 2014 · Category: Pemrograman PHP 

Bagian terakhir yang akan kita bahas yang terdapat di dalam pengaturan level Table di dalam Table Setup dari Aplikasi PHPMaker adalah Master/Detail. Ini merupakan bagian untuk mengatur tabel-tabel yang memiliki relasi Parent dan Child atau sering dikenal dengan istilah Master/Detail.

Di dunia nyata, semua entitas biasanya memiliki relasi antara yang satu dengan lainnya. Ada yang memiliki relasi satu ke satu atau One-to-One, ada yang memiliki relasi satu ke banyak atau One-to-Many, atau bahkan relasi banyak ke banyak atau Many-to-Many.

Di PHPMaker, relasi antar dua tabel disederhanakan menjadi relasi One-to-Many. Di sinilah esensi dari Master/Detail yang sebenarnya di PHPMaker. Implementasinya tentu tidak semua harus One-to-Many, tapi, sekali lagi, hal ini untuk menyederhanakan relasi dari berbagai kemungkinan tadi, PHPMaker menggunakan konsep seperti itu.

Jika pada implementasinya ada yang One-to-One atau bahkan Many-to-Many, maka hal itu bisa diatasi dengan membuat beberapa kali relasi dari beberapa tabel yang terkait sampai memenuhi relasi selain One-to-Many tadi.

Contoh, untuk Many-to-Many, maka Anda sebagai Web Developer cukup hanya membuat relasi One-to-Many, dan yang satunya Many-to-One. Hasil akhirnya tentu saja menjadi Many-to-Many. Sampai di sini, mudah-mudahan Anda tidak bingung, karena konsep ini cukup sederhana dan mudah dimengerti.

Sekali lagi, pastikan Anda sudah memilih salah satu Table yang terdapat di panel Database, lalu klik tab Table di panel sebelah kanan. Di bagian bawah sebelah kanan dari tab Table tadi, akan muncul panel Master/Detail.

Di dalam panel Master/Detail, Anda dapat mengatur relasi antara dua tabel dengan cara mengklik tombol Modify…. Selanjutnya sistem akan menampilkan jendela baru bernama Master/Detail – help. Di jendela baru ini terdapat dua buah panel. Panel pertama di sebelah kiri berisi daftar Table atau object yang terdapat di project PHPMaker Anda. Panel kedua di sebelah kanan merupakan area tempat Anda mendefinsikan relasi antara dua buah Table.

Caranya cukup dengan menyeret (drag) object Table-Table yang diinginkan dari panel kiri lalu menjatuhkannya (drop) ke panel sebelah kanan. Konsep Master/Detail di PHPMaker diusahakan menempatkan tabel Master di sebelah kiri, sedangkan tabel Detail di sebelah kanan dari tabel Master. Keduanya tentu saja (sekali lagi) harus ditempatkan di panel sebelah kanan.

Setelah itu, seret salah satu Field dari tabel Master lalu jatuhkan ke Field terkait di tabel Detail. Selanjutnya Anda akan melihat angka/simbol 1 di sebelah kiri, dan simbol oo di sebelah kanan. Seperti yang sudah dijelaskan sebelumnya, hal itu menunjukkan bahwa tabel tempat pertama kali Anda menyeret Field akan berperan sebagai tabel Master, sedangkan tabel tempat Field tersebut dijatuhkan merupakan tabel Detail.

Lakukan hal yang sama dengan langkah-langkah tadi untuk merelasikan tabel yang lain. Jika sudah selesai, klik tombol OK pada jendela Master/Detail – help tadi. Selanjutnya Anda akan dibawa kembali ke panel Master/Detail, dan di sana akan ditampilkan hasil dari relasi tabel yang sudah Anda tentukan tadi.

Di sebelah kanan dari setiap relasi tabel Anda akan melihat tiga buah kolom sebagai berikut:

  1. Referential Integrity, jika diaktifkan, maka PHPMaker akan membangkitkan kode yang memastikan bahwa Pengguna tidak boleh menambah/mengubah Record di tabel Detail kecuali jika Foreign Key merujuk ke Record yang valid di tabel Master.
  2. Cascade Delete, jika diaktifkan, maka PHPMaker akan membangkitkan kode yang akan memastikan jika Record di tabel Master dihapus, maka semua Record yang terkait di tabel Detail juga akan dihapus.
  3. Cascade Update, jika diaktifkan, maka PHPMaker akan membangkitkan kode yang akan memastikan jika Record di tabel Master diubah/diperbarui, maka semua Record yang terkait di tabel Detail akan ikut diperbarui juga.

Penting untuk diingat, bahwa jika Database yang Anda gunakan sudah mendukung fitur ON DELETE CASCADE dan atau ON UPDATE CASCADE, maka Anda tidak perlu menggunakan dua item pengaturan yang terakhir tadi.

Berdasarkan pengalaman Penulis, fitur ini benar-benar sangat membantu Web Developer dalam membangun Aplikasi Web yang membutuhkan fitur Master/Detail dengan aturan ketat seperti di atas. Apalagi jika jumlah Table yang terlibat dalam relasi Master/Detail tadi jumlahnya sangat banyak, maka akan sangat banyak waktu Development yang bisa dihemat, sehingga Anda sebagai Web Developer bisa lebih fokus dalam mengimplementasikan business-logic maupun business-process Anda.

Related Articles

  1. Mengenal Pengaturan List Page pada Table Setup di PHPMaker
  2. Mengenal Table Setup di PHPMaker
  3. Mengenal Pengaturan Multi-Update pada Table Setup di PHPMaker
  4. Mengenal Pengaturan Table-specific Options pada Table Setup di PHPMaker
  5. Mengenal Field Setup di PHPMaker
  6. Mengenal Pengaturan General pada Table Setup di PHPMaker
  7. Mengenal Pengaturan Multi-Page pada Table Setup di PHPMaker
  8. Mengenal Pengaturan Search pada Table Setup di PHPMaker
  9. Mengenal Pengaturan Edit pada Table Setup di PHPMaker
  10. Mengenal Lebih Detail Field Setup di PHPMaker
  11. Mengenal Pengaturan Audit Trail pada Table Setup di PHPMaker
  12. Mengenal Pengaturan Email Notification pada Table Setup di PHPMaker
  13. Mengenal Pengaturan Delete pada Table Setup di PHPMaker
  14. Mengenal Pengaturan Return Pages pada Table Setup di PHPMaker
  15. Mengenal Pengaturan View pada Table Setup di PHPMaker
  16. Mengenal Custom Templates di PHPMaker
  17. Mengenal User Levels Security di PHPMaker
  18. Mengenal Fitur Sinkronisasi di PHPMaker
  19. Pengaturan Password di Aplikasi Web yang Dihasilkan oleh PHPMaker
  20. Mengenal Pengaturan Add Page pada Table Setup di PHPMaker