Lompat ke konten Lompat ke sidebar Lompat ke footer

Belajar MySQL Part#4 - Cara Membuat Relasi Table dan Join Table di MySQL

Tutorial Hari Ini
Pengantar Relasi dan Join Tabel
Membangun Relasi Tabel
Menggabungkan (Join) Tabel
Pembahasan Materi Selanjutnya
Penutup

Pengantar Relasi dan Join Tabel
Hallo sahabat semua apa khabar?  berjumpa kembali pada tutorial relasi dan join pada Database MySQL mudah-mudahan masih tetap semangat mengikuti materi ini.
Apa itu relasi pada MySQL? Relasi merupakan hubungan antara satu tabel dengan tabel yang lain, karena didalam suatu database terdapat tabel-tabel yang saling berelasi berdasarkan kunci utama (primary key) dengan kunci tamu atau kunci kandidat (foreign key).
Ada tiga jenis relasi atau hubungan pada suatu tabel, yaitu : 
Relasi satu-ke-satu (One-To-One ), relasi satu-ke-banyak (One-To-Many) atau bisa dibalik relasi banyak-ke- satu (Many-To-One) , dan relasi banyak-ke-bayak (Many-To-Many).
Sementara Join merupakan penggabungan beberapa table sekaligus berdasarkan kunci(key) masing-masing tabel. Operasi join (penggabungan) antar tabel merupakan operasi penting yang sangat mendasar pada database relasional. 
Membangun Relasi Tabel
Bagaimana membuat relasi dalam database? untuk mempermudah penjelasan pertanyaan tersebut, disini penulis akan menggunakan contoh pada studi kasus sederhana tentang rekam medis, yaitu database puskesmas. Baik buka MySQL Client - Laragon (atau yang lainnya) selanjutnya aktifkan services database MySQL melalui jendela Laragon. Dari dialog layar Laragon, klikØ MenuØ MySQLØ Start MySQL, selanjutnya klik Terminal. 
Ketikkan perintah-perintah berikut ini pada terminal, sbb:
mysql -u root -p 
Enter Password: tekan  saja.
mysql>use puskesmas_db;
mysql>show tables;
(-- ada 7 tabel yang akan ditampilkan --)
Latihan-1: akan ditampilkan nama pegawai dari tabel pegawai, password dari tabel pengguna. Masing-masing tabel pengguna diberikan alias U dan tabel pegawai dengan alias P (menggunakan alias untuk mempersingkat penulisan saja). 
mysql>SELECT P.nama,U.pass,U.level_user 
->FROM pengguna U,pegawai P 
->WHERE U.nip=P.nip;
Hasil di terminal, sbb:
Latihan-2: akan ditampilkan data pemeriksaan Pasien oleh seorang Dokter yang mana melibatkan tabel pasien dengan alias(P), tabel dokter alias(D), tabel obat alias(O), tabel periksa alias(T), dan tabel detail_periksa dengan alias (TD), berikut perintahnya:
SELECT T.nomor_rm,P.nama_pas,T.diagnosa,O.nama_obat,TD.biaya_obat,
       TD.biaya_periksa,D.nama_dok
FROM periksa T,pasien P,dokter D,obat O,periksa_detail TD
WHERE T.kode_pas=P.kode_pas AND T.kode_dok=D.kode_dok AND
      TD.kode_obat=O.kode_obat AND T.nomor_rm=TD.nomor_rm;
Hasil di terminal, sbb:


Baca juga: Stored Procedure
Menggabungkan (Join) Tabel
Untuk menggabungkan dua tabel atau beberapa tabel dapat menggunakan perintah Join atau menggunakan relasi berdasarkan kunci utama (primary key) dengan kunci tamu (foreign key) berdasarkan klausa Where - AND (seperti contoh sebelumnya).
Ada 3 model perintah join masing-masing, sbb:
  • Inner Join, menggabungkan beberapa tabel terlebih dahulu selanjutnya akan dikondisikan berdasarkan kunci (key) jika sama akan ditampilkan.
Sintaks:
    SELECT <field1,fields2field3,...fieldn>
    FROM   [table1]
    INNER JOIN [table2] ON table1.field_key = table2.field_key;
Latihan-3: akan ditampilkan nama pegawai dari tabel pegawai, password dari tabel pengguna dengan penggunakan perintah inner join. 
mysql>SELECT pegawai.nama,pengguna.pass,pengguna.level_user 
->FROM pengguna 
->INNER JOIN pegawai 
->ON pengguna.nip = pegawai.nip;
  • Left Join, menggabungkan lebih dari 1 tabel selanjutnya akan dikondisikan berdasarkan kunci (key) pada tabel1 (kiri menjadi master) dan nilai yang sama pada tabel2(kanan), baru nilai akan ditampilkan.

                    Sumber gambar: https://www.w3schools.com/sql/sql_join.asp
Sintaks:
    SELECT <field1,fields2field3,...fieldn>
    FROM [table1]
    LEFT JOIN [table2]
    ON table1.field_key = table2.field_key;

Latihan-4: akan ditampilkan nama pegawai dari tabel pegawai, password dari tabel pengguna dengan penggunakan perintah left join. 
mysql>SELECT nama,pass,level_user 
->FROM pengguna 

->LEFT JOIN pegawai 

->ON pengguna.nip = pegawai.nip;
  • Right Join, menggabungkan lebih dari 1 tabel selanjutnya akan dikondisikan berdasarkan kunci (key) pada tabel1 dan nilai yang sama pada tabel2(kanan menjadi master), baru nilai akan ditampilkan.
                               Sumber gambar: https://www.w3schools.com/sql/sql_join.asp         
Sintaks:
        SELECT <field1,fields2field3,...fieldn>
        FROM [table1]
        RIGHT JOIN [table2]
        ON table1.field_key = table2.field_key;
Latihan-5: akan ditampilkan nama pegawai dari tabel pegawai, password dari tabel pengguna dengan penggunakan perintah right join. 
mysql>SELECT nama,pass,level_user 
->FROM pegawai 

->RIGHT JOIN pengguna 

->ON 
pegawai.nip = pengguna.nip;
Hasil di terminal:
Catatan: dari ketiga contoh diatas hasilnya sama (silahkan perhatikan perbedaannya).
Materi Selanjutnya
Penutup
Sekian pembahasan tutorial hari ini, tentang membangun relasi tabel serta menggabungkan beberapa tabel dengan Inner join, Left Join, dan Right Join. Selanjutnya akan dibahas stored procedureSekian dan terima kasih sudah mengikuti terus tutorial pada blog ini, semoga bermanfaat, syalam penulis.

I Ketut Darmayuda
I Ketut Darmayuda I Ketut Darmayuda

Posting Komentar untuk "Belajar MySQL Part#4 - Cara Membuat Relasi Table dan Join Table di MySQL"

crossorigin="anonymous">