Docs/MySQL/Kunci Primary & Relasi JOIN

Tabel Relasional (Relationship)

Perbedaan sistem MySQL/SQL dengan jenis database lain (NoSQL) adalah pada sifatnya yang saling terhubung antar entitas / antar tabel.

Primary Key

  • "Nomor Induk / KTP" mutlak dari 1 data di tabel.
  • Di MySQL, Primary Key lazimnya disebut id yang berikhtiar menggunakan auto-increment, sehingga angkanya selalu maju sendiri, tidak ada baris yang bisa saling terduplikat angkanya.

Foreign Key

  • "KTP Orang Lain" yang diselipkan pada dokumen terpisah agar mereka saling terikat secara tidak langsung.
  • Contoh: Tabel Pesanan bisa merujuk "Pesanan milik siapa ini?" lewat kolom user_id yang bersumber pada id tabel users.

INNER JOIN

Ini merupakan sihir mutakhir di mana dua (atau lebih) tabel dijahitkan sementara menghasilkan output matrix gabungan yang saling relevan tanpa harus menyimpan detail redundan di tabel yang sama.

index.html
Try It →
-- Mengambil data pesanan dan siapa yang memesan dari dua tabel berbeda
SELECT 
    users.nama, 
    produk.nama_produk, 
    pesanan.jumlah
FROM pesanan
INNER JOIN users ON pesanan.user_id = users.id
INNER JOIN produk ON pesanan.produk_id = produk.id;

-- Output dari SQL ini dalah:
-- Budi | Laptop | 1
-- Andi | Mouse  | 2