Apa itu Primary Key, Foreign Key, dan Candidate Key. Berikan masing-masing 5 contoh pada penerapan ERD

1. Primary Key (PK) / Kunci Utama

​Primary Key adalah sebuah atribut atau sekumpulan atribut yang memiliki peran utama dalam tabel: untuk secara unik mengidentifikasi setiap baris data di dalamnya. Syarat mutlaknya adalah nilainya tidak boleh duplikat dan tidak boleh kosong (NULL). Kunci ini dipilih dari sekumpulan Candidate Key.

​Contoh Penerapan pada ERD (Implementasi):

  • Tabel PRODUK

kode_produk dipilih sebagai PK karena setiap barang harus memiliki kode yang berbeda. Tipe CHAR(10) dipilih karena kode produk biasanya memiliki panjang yang tetap (misalnya 10 digit/karakter).

  • Tabel DOSEN

NIDN (Nomor Induk Dosen Nasional) adalah PK karena setiap dosen memiliki nomor identitas yang unik secara nasional. Tipe CHAR(10) digunakan karena ini adalah kode identifikasi dengan panjang tetap.

  • Tabel PEMBAYARAN

id_transaksi digunakan sebagai PK untuk menandai setiap proses pembayaran yang terjadi secara unik. Tipe INT (Integer) dipilih karena ini adalah nomor urut atau ID yang bersifat angka.

  • Tabel KOTA

id_kota adalah PK untuk membedakan satu kota dengan kota lain. Tipe INT dipilih karena ini adalah kode numerik.

  • Tabel MAHASISWA

NIM adalah PK karena merupakan identifikasi tunggal mahasiswa di kampus. Tipe CHAR(10) digunakan karena NIM memiliki panjang karakter yang sudah ditentukan dan tetap.


2. Foreign Key (FK) / Kunci Asing

​Foreign Key adalah sebuah atribut dalam suatu tabel (disebut tabel anak atau child) yang nilainya mengacu dan harus cocok dengan Primary Key di tabel lain (tabel induk atau parent). Fungsi utamanya adalah untuk menghubungkan kedua tabel, sehingga menciptakan hubungan (relasi) dan menjaga konsistensi data (integritas referensial).

​Contoh Penerapan pada ERD (Implementasi):

  • Hubungan DOSEN & MAHASISWA

Hubungan One-to-Many (1:N). Satu Dosen (wali) dapat membimbing Banyak Mahasiswa. Foreign Key (NIDN_WALI atau sejenisnya) ada di tabel MAHASISWA untuk mengidentifikasi siapa Wali Dosennya.

  • Hubungan PENGUNJUNG & BUKU

Hubungan One-to-Many (1:N). Satu Pengunjung (misalnya: yang mendonasikan) dapat memiliki Banyak Buku. Foreign Key (PENGUNJUNG_nim_anggota) di tabel BUKU mengaitkan buku ke pemiliknya atau donatur.

  • Hubungan JABATAN & PEGAWAI

Hubungan One-to-Many (1:N). Satu Jabatan dapat diisi oleh Banyak Pegawai. Foreign Key (JABATAN_id_jabatan) di tabel PEGAWAI menentukan posisi struktural pegawai tersebut.

  • Hubungan KATEGORI & PRODUK

Hubungan One-to-Many (1:N). Satu Kategori dapat mencakup Banyak Produk. Foreign Key (KATEGORI_id_kategori) di tabel PRODUK mengklasifikasikan barang tersebut.

  • Hubungan TRANSAKSI & PEMBAYARAN

Hubungan One-to-Many (1:N). Satu Transaksi dapat memiliki Banyak Pembayaran (cicilan/angsuran). Foreign Key (TRANSAKSI_id_transaksi) di tabel PEMBAYARAN mengikat setiap catatan pembayaran ke Transaksi utamanya.

​3. Candidate Key (CK) / Kunci Calon

​Candidate Key adalah satu set atribut minimal yang berpotensi (berhak) untuk menjadi Primary Key karena kemampuannya dalam mengidentifikasi baris data secara unik. Sebuah tabel dapat memiliki banyak Candidate Key, dan salah satunya akan dipilih sebagai Primary Key, sementara sisanya disebut Alternate Key.

​Contoh Penerapan pada ERD (Implementasi):

  • ​Tabel PRODUK

Dalam ERD sistem inventaris, tabel PRODUK memiliki minimal dua Candidate Key, yaitu "kode_produk" dan "barcode" (diasumsikan). Kedua atribut ini dapat digunakan untuk mengidentifikasi setiap produk secara unik.

  • Tabel DOSEN

Dalam ERD sistem akademik, tabel DOSEN memiliki minimal dua Candidate Key, yaitu "NIDN" dan "email". Kedua atribut ini dapat digunakan untuk mengidentifikasi setiap dosen secara unik.

  • Tabel PEMBAYARAN

Dalam ERD sistem transaksi, tabel PEMBAYARAN memiliki minimal dua Candidate Key, yaitu "id_transaksi" (sebagai komponen kunci utama) dan gabungan dari "id_transaksi" dengan "tgl_bayar". Kombinasi atribut ini dapat digunakan untuk mengidentifikasi setiap catatan pembayaran secara unik.

  • Tabel KOTA

Dalam ERD sistem data lokasi, tabel KOTA memiliki minimal dua Candidate Key, yaitu "id_kota" dan "kode_pos". Kedua atribut ini dapat digunakan untuk mengidentifikasi setiap kota secara unik.

  • Tabel MAHASISWA

Dalam ERD sistem akademik, tabel MAHASISWA memiliki minimal dua Candidate Key, yaitu "NIM" dan "email". Kedua atribut ini dapat digunakan untuk mengidentifikasi setiap mahasiswa secara unik.



Komentar

Postingan populer dari blog ini

Apa itu Relation pada ERD, mengapa Many-to-Many tidak baik digunakan pada ERD