Skip to main content

Menentukan Tipe Join pada Relasi Antar Tabel di Access

Saat membuat relasi antar dua tabel, Access menampilkan kotak dialog Edit Relationship. Dalam kotak dialog itu, kita diminta untuk mengatur beberapa hal. Selain itu, sisi sebelah kanan dari kotak dialog Edit Relationships mempunyai empat tombol.

Keempat tombol itu adalah:
  1. Create/OK: setelah melakukan perubahan seperlunya, tombol ini digunakan bila ingin menyimpan perubahan itu dan kembali ke jendela Relationships.
  2. Cancel: tombol ini digunakan bila tidak ingin menyimpan perubahan dan kembali ke jendela Relationships.
  3. Join Type: membuka kotak dialog Join Properties.
  4. Create New: membuat relasi yang sama sekali baru di antara dua tabel dan field.
Secara default, saat memproses sebuah query pada dua tabel yang berelasi, Access hanya menampilkan record yang ada di kedua tabel. Relasi dua tabel seperti ini disebut juga inner join karena hanya menampilkan record yang ada di kedua tabel. Walau demikian, inner join bukan satu-satunya tipe join yang bisa didukung oleh Access. Dengan menekan tombol Join Type..., kita dapat melihat beberapa tipe join melalui kotak dialog Join Properties. Ada tiga pilihan di situ, yaitu:
  1. Only include rows where the joined fields from both tables are equal: hanya menampilkan record yang ada di kedua tabel. Ini yang disebut dengan inner join. Contohnya seperti gambar 1. Pada gambar ini, pada saat menampilkan datasheet query dua tabel, tabel tblRekUtama dan tblTempTransJournal_Child hanya menampilkan record dengan kedua rekening (KodeRek) yang sama. Bila ada KodeRek yang tidak tercatat di tblTempTransJournal_Child, maka record itu tidak akan ditampilkan.
    Gambar 1 Inner join
  2. Include All records from ‘tabel1’ and only those record from ‘tabel2’ where the joined fields are equal: menampilkan semua record yang ada di ‘tabel1’ dan hanya record dari ‘tabel2’ yang sesuai dengan field pada ‘tabel1’. Tipe join untuk relasi ini disebut outer join. Dengan properti ini, semua record pada ‘tabel1’ ditampilkan, walaupun mungkin ‘tabel2’ tidak mempunyai record dimana nilai field foreign key-nya kosong (null). Contoh tipe join pada pilihan ini dapat dilihat di gambar 2. Pada gambar ini, pada saat menampilkan datasheet query dua tabel, seluruh record yang ada di tabel1 (tblTempTransJournal_Parent) akan ditampilkan.Demikian pula, walau kosong, seluruh record yang ada di tabel2 (tblTempTransJournal_Child) juga ditampilkan.
    Gambar 2 Outer join (left join)
    Di gambar itu, tanda panah pada garis relasi sebelah kanan () menunjukkan, walaupun tabel tblTempTransJournal_Child tidak mempunyai record dimana nilai field foreign key-nya kosong (null) data yang ada di tblTempTransJournal_Parent tetap ditampilkan.
  3. Include All records from ‘tabel2’ and only those record from ‘tabel1’ where the joined fields are equal: menampilkan semua record yang ada di ‘tabel2’ dan hanya record dari ‘tabel1’ yang sesuai dengan field pada ‘tabel2’. Sama seperti nomor 2, tipe join untuk relasi ini juga disebut outer join. Dengan properti ini, semua record pada ‘tabel2’ ditampilkan, walaupun mungkin ‘tabel1’ tidak mempunyai record dimana nilai field foreign key-nya kosong (null). Contoh tipe join pada pilihan ini dapat dilihat di gambar 3.
    Gambar 3 Outer join (right join)
    Di gambar itu, tanda panah pada garis relasi sebelah kiri () menunjukkan, walaupun tabel tblGaji tidak mempunyai record dimana nilai field foreign key-nya kosong (null) data yang ada di tabelBioData tetap ditampilkan.
Menentukan tipe join dari sebuah relasi bukanlah hal yang mutlak untuk dilakukan. Umumnya, pengembang Access menggunakan inner join untuk menentukan relasi database mereka. Mereka akan mengubah menjadi outer join saat diperlukan melalui pembuatan query.

Comments

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

Membuat Relasi Database

Menampilkan Data MySQL dalam Form di Access