Dalam perancangan basis data, Primary Key, Foreign Key, dan Candidate Key adalah konsep kunci yang sangat penting untuk memastikan integritas data dan hubungan antar tabel dalam Entity-Relationship Diagram (ERD). Mari kita bahas satu per satu dengan contoh:
1. Primary Key (PK)
Primary Key adalah atribut atau kumpulan atribut yang digunakan untuk mengidentifikasi setiap baris secara unik dalam sebuah tabel. Setiap tabel harus memiliki satu Primary Key, dan nilainya harus unik untuk setiap record serta tidak boleh null
.
Contoh:
Misalkan kita memiliki tabel Mahasiswa dalam basis data.
NIM (Primary Key) | Nama | Jurusan |
---|---|---|
101 | Budi | Teknik Sipil |
102 | Siti | Informatika |
103 | Agus | Arsitektur |
- NIM adalah Primary Key yang secara unik mengidentifikasi setiap mahasiswa dalam tabel. Tidak ada dua mahasiswa yang memiliki NIM yang sama, dan nilainya tidak boleh kosong.
2. Foreign Key (FK)
Foreign Key adalah kunci yang digunakan untuk menghubungkan dua tabel. Ini adalah atribut dalam satu tabel yang merupakan Primary Key di tabel lain. Foreign Key berfungsi untuk menjaga integritas referensial, yaitu memastikan bahwa nilai yang dimasukkan dalam Foreign Key di satu tabel benar-benar ada di tabel lain.
Contoh:
Misalkan kita memiliki tabel KRS (Kartu Rencana Studi) yang berhubungan dengan tabel Mahasiswa. Dalam tabel KRS, NIM dari mahasiswa akan menjadi Foreign Key yang menghubungkan tabel KRS dengan tabel Mahasiswa.
Tabel KRS:
ID KRS (PK) | NIM (Foreign Key) | Mata Kuliah |
---|---|---|
1 | 101 | Matematika |
2 | 102 | Pemrograman |
3 | 101 | Fisika |
- NIM dalam tabel KRS adalah Foreign Key yang merujuk ke NIM di tabel Mahasiswa. Ini menghubungkan data di kedua tabel tersebut.
3. Candidate Key
Candidate Key adalah satu atau lebih atribut dalam sebuah tabel yang dapat digunakan sebagai Primary Key karena dapat mengidentifikasi setiap baris secara unik. Sebuah tabel bisa memiliki lebih dari satu Candidate Key, tetapi hanya satu yang akan dipilih sebagai Primary Key. Candidate Key lainnya bisa menjadi Alternate Key jika tidak dipilih sebagai Primary Key.
Contoh:
Misalkan kita menambahkan kolom Email dalam tabel Mahasiswa. Dalam tabel tersebut, baik NIM maupun Email dapat digunakan untuk mengidentifikasi setiap mahasiswa secara unik, sehingga keduanya adalah Candidate Key.
NIM (PK) | Nama | Jurusan | |
---|---|---|---|
101 | Budi | Teknik Sipil | budi@example.com |
102 | Siti | Informatika | siti@example.com |
103 | Agus | Arsitektur | agus@example.com |
- NIM dan Email adalah Candidate Key, tetapi kita memilih NIM sebagai Primary Key.
Kesimpulan
- Primary Key (PK): Atribut yang mengidentifikasi baris secara unik.
- Foreign Key (FK): Atribut yang menghubungkan dua tabel.
- Candidate Key: Atribut yang dapat menjadi Primary Key, namun hanya satu yang dipilih
Komentar
Posting Komentar