Page 56 - E-Modul Sistem Basis Data
P. 56
yang lain. Jadi, sebuah Candidate-Key pastilah Superkey, tapi belum tentu
sebaliknya. Pada tabel Mahasiswa, yang dapat menjadi Candidate-Key-nya adalah:
• (nim)
• (nama_mhs), jika kita bisa menjamin tidak ada nilai yang sama untuk
kolom ini.
Definisi formal tentang Candidate-Key adalah:
Diberikan sebuah tabel T, dengan Atribut (T) A1, A2, An. Key dari tabel
Tadalah himpunan atribut K - Ai,,, Ai, dengan 2 sifat:
1. Jika u, v mewakili 2 baris data yang berlainan dalam tabel T, maka u[K]
v[K]; artinya, akan selalu paling sedikit ada satu atribut (Aim) yang
merupakan anggota K di mana u[Am] v[i].
2. Tidak ada himpunan atribut yang lebih kecil yang menjadi bagian dari
K yang memiliki sifat ke-1 di atas.
Pada sebuah tabel dimungkinkan adanya lebih dari satu Candidate-Key
seperti contoh di atas. Salah satu dari Candidate-Key ini (jika memang ada lebih
dari satu) dapat dijadikan sebagai Key Primer (Primary Key). Pemilihan Key
Primer dari sejumlah Candidate-Key tersebut umumnya didasari oleh:
• Key tersebut lebih sering (lebih natural) untuk dijadikan sebagai acuan
• Key tersebut lebih ringkas
• Jaminan keunikan Key tersebut lebih baik
Dengan pertimbangan-pertimbangan tersebut, dari kedua Candidate-Key
yang ada di tabel Mahasiswa, yaitu (nim) dan (nama mhs), maka yang lebih cocok
dipilih sebagai Key Primer (Primary-Key) adalah (nim).
44