Pada relasi many-to-many, setiap record yang berada di kedua tabel dapat terhubung dengan satu, banyak, atau bahkan tak ada record di tabel lainnya. Untuk merelasikan kedua tabel, kita harus membuat tabel ketiga yang dinamakan junction table. Tabel ketiga ini harus berisi field yang menjadi primary key dari tabel pertama dan kedua.
Untuk jelasnya, lihat Gambar 2 di bawah pada tabel tblRekUtama, tblRekDerivatif1, dan tblTempTransJournal_Child. Tabel tblRekUtama mempunyai relasi many-to-many dengan tabel tblRekDerivatif1 dengan menggunakan junction table yang bernama tblTempTransJournal_Child. Pada tabel tblTempTransJournal_Child itu, kita bisa melihat field KodeRek terhubung dengan field KodeRek di tblRekUtama, field Deriv1 terhubung dengan field KodeDeriv1 di tblRekDerivatif1. Logika sederhana, satu kode rekening (KodeRek) pasti mempunyai paling tidak satu kode derivatif1 (KodeDeriv1), dan satu kode derivatif1 (KodeDeriv1) bisa digunakan oleh banyak kode rekening (KodeRek).
Pada tabel tblTempTransJournal_Child yang menjadi join table, kita bisa menambahkan berbagai macam informasi yang relevan, seperti kuantitas, satuan ukuran (SU), debit, kredit, dan lain-lain.
Untuk membuat relasi many-to-many, kita menggunakan dua tabel, yaitu tblRekUtama dan tblRekDerivatif1, yang berfungsi sebagai tabel master. Kedua tabel itu dihubungkan lewat join table yang bernama tblTempTransJournal_Child, fungsinya sebagai tabel detail atau transaksi. Tabel tblRekDerivatif1 berelasi dengan tblTempTransJournal_Child melalui field KodeDeriv1, sedangkan tabel tblRekUtama berelasi dengan tblTempTransJournal_Child melalui field KodeRek.
Pada dasarnya, relasi many-to-many adalah menggabungkan dua relasi one-to-many menjadi satu. Relasi one-to-many pertama untuk tabel tblRekUtama dan tblTempTransJournal_Child, dengan menggunakan field KodeRek. Relasi one-to-many kedua untuk tabel tblRekDerivatif1 dan tblTempTransJournal_Child, dengan menggunakan field KodeDeriv1 (Deriv1 ). Untuk membuat kedua relasi ini, kita bisa menggunakan cara seperti yang telah dijelaskan di posting yang berjudul Membuat Relasi Database. Posting itu menjelaskan cara membuat relasi one-to-many.
Bila menggunakan Gambar 1 di atas, langkah 1, kita dapat meyorot field KodeRek di tblRekUtama, lalu tarik field itu ke atas field KodeRek di tblTempTransJournal_Child. Saat selesai menaruh ke dalam tblTempTransJournal_Child, sebuah kotak dialog Edit Relationship ditampilkan. Pada bagian referentioal integrity, beri tanda centang pada Enforce Referential Integrity dan Cascade Update Related Fields. Sedangkan pilihan ketiga, Cascade Delete Related Records diabaikan, karena tblRekUtama tidak berhubungan langsung dengan tblTempTransJournal_Child.
Setelah itu, langkah 2, sorot field KodeDeriv1 di tblRekDeriv1, lalu tarik field itu ke atas field Deriv1 di tblTempTransJournal_Child. Dengan cara yang sama dengan langkah 1, pada bagian referentioal integrity, beri tanda centang pada Enforce Referential Integrity dan Cascade Update Related Fields. Sedangkan pilihan ketiga, Cascade Delete Related Records juga diabaikan, karena tblRekDeriv1 tidak berhubungan langsung dengan tblTempTransJournal_Child.
Hasil akhir hasil relasi many-to-many tampak seperti gambar 2. Untuk proses pembuatannya, silakan lihat videro di awal posting ini.
Video membuat relasi tabel many-to-many |
Pada tabel tblTempTransJournal_Child yang menjadi join table, kita bisa menambahkan berbagai macam informasi yang relevan, seperti kuantitas, satuan ukuran (SU), debit, kredit, dan lain-lain.
Gambar 1. Membuat relasi tabel many-to-many |
Untuk membuat relasi many-to-many, kita menggunakan dua tabel, yaitu tblRekUtama dan tblRekDerivatif1, yang berfungsi sebagai tabel master. Kedua tabel itu dihubungkan lewat join table yang bernama tblTempTransJournal_Child, fungsinya sebagai tabel detail atau transaksi. Tabel tblRekDerivatif1 berelasi dengan tblTempTransJournal_Child melalui field KodeDeriv1, sedangkan tabel tblRekUtama berelasi dengan tblTempTransJournal_Child melalui field KodeRek.
Gambar 2. Relasi tabel many-to-many yang sudah selesai dibuat |
Pada dasarnya, relasi many-to-many adalah menggabungkan dua relasi one-to-many menjadi satu. Relasi one-to-many pertama untuk tabel tblRekUtama dan tblTempTransJournal_Child, dengan menggunakan field KodeRek. Relasi one-to-many kedua untuk tabel tblRekDerivatif1 dan tblTempTransJournal_Child, dengan menggunakan field KodeDeriv1 (Deriv1 ). Untuk membuat kedua relasi ini, kita bisa menggunakan cara seperti yang telah dijelaskan di posting yang berjudul Membuat Relasi Database. Posting itu menjelaskan cara membuat relasi one-to-many.
Bila menggunakan Gambar 1 di atas, langkah 1, kita dapat meyorot field KodeRek di tblRekUtama, lalu tarik field itu ke atas field KodeRek di tblTempTransJournal_Child. Saat selesai menaruh ke dalam tblTempTransJournal_Child, sebuah kotak dialog Edit Relationship ditampilkan. Pada bagian referentioal integrity, beri tanda centang pada Enforce Referential Integrity dan Cascade Update Related Fields. Sedangkan pilihan ketiga, Cascade Delete Related Records diabaikan, karena tblRekUtama tidak berhubungan langsung dengan tblTempTransJournal_Child.
Setelah itu, langkah 2, sorot field KodeDeriv1 di tblRekDeriv1, lalu tarik field itu ke atas field Deriv1 di tblTempTransJournal_Child. Dengan cara yang sama dengan langkah 1, pada bagian referentioal integrity, beri tanda centang pada Enforce Referential Integrity dan Cascade Update Related Fields. Sedangkan pilihan ketiga, Cascade Delete Related Records juga diabaikan, karena tblRekDeriv1 tidak berhubungan langsung dengan tblTempTransJournal_Child.
Hasil akhir hasil relasi many-to-many tampak seperti gambar 2. Untuk proses pembuatannya, silakan lihat videro di awal posting ini.
Comments
Post a Comment