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):
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).
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.
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.
id_kota adalah PK untuk membedakan satu kota dengan kota lain. Tipe INT dipilih karena ini adalah kode numerik.
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):
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.
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.
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.
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.
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
Posting Komentar