Demonstrasi Konsep Primary Key dan Foreign Key

Catatan: Ini adalah tampilan demonstrasi statis tanpa koneksi database. Untuk versi lengkap dengan fungsi database, silakan lihat versi sebelumnya.

1. Tabel Mahasiswa (Primary Key)

NIM (Primary Key) Nama Jurusan
M001 Andi Wijaya Informatika
M002 Budi Santoso Teknik Elektro
M003 Citra Dewi Manajemen

Primary Key adalah kolom yang mengidentifikasi setiap baris secara unik (tidak boleh NULL dan harus unik).

2. Tabel Nilai (Foreign Key)

ID NIM Mahasiswa (Foreign Key) Mata Kuliah Nilai
1 M001 Basis Data 85
2 M001 Pemrograman Web 78
3 M002 Kalkulus 90
4 M003 Akuntansi 88

Foreign Key adalah kolom yang merujuk ke Primary Key di tabel lain untuk menjaga hubungan antar tabel.

3. Diagram Relasi

[MAHASISWA] (Tabel Induk)
|__ nim (Primary Key)
|__ nama
|__ jurusan

↓ (1-to-many relationship)

[NILAI] (Tabel Anak)
|__ id
|__ nim_mahasiswa (Foreign Key → mahasiswa.nim)
|__ matkul
|__ nilai

Relasi menunjukkan bahwa satu mahasiswa bisa memiliki banyak nilai.

4. Contoh SQL (Untuk Referensi)

-- Membuat tabel dengan Primary Key
CREATE TABLE mahasiswa (
    nim CHAR(10) PRIMARY KEY,
    nama VARCHAR(50) NOT NULL,
    jurusan VARCHAR(30) NOT NULL
);

-- Membuat tabel dengan Foreign Key
CREATE TABLE nilai (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nim_mahasiswa CHAR(10),
    matkul VARCHAR(50) NOT NULL,
    nilai INT,
    FOREIGN KEY (nim_mahasiswa) REFERENCES mahasiswa(nim)
    ON DELETE CASCADE
    ON UPDATE CASCADE
);