Apa Itu Primary Key, Foreign Key, dan Kandidat Key dalam Basis Data
Dalam dunia basis data, kunci adalah konsep yang sangat penting. Mereka digunakan untuk mengidentifikasi setiap catatan dalam basis data dan untuk membentuk hubungan antara tabel yang berbeda. Tiga jenis kunci yang sering digunakan dalam basis data adalah Primary Key, Foreign Key, dan Kandidat Key. Dalam artikel ini, kita akan menjelaskan apa itu ketiga jenis kunci ini dan bagaimana mereka berfungsi dalam suatu sistem basis data.
1. Primary Key (Kunci Utama):
Primary key adalah salah satu kunci yang paling penting dalam basis data. Ini adalah kunci yang digunakan untuk secara unik mengidentifikasi setiap catatan dalam tabel. Beberapa karakteristik utama dari primary key adalah:
- Unik: Setiap nilai dalam kolom primary key harus unik. Tidak boleh ada dua baris dengan nilai primary key yang sama.
- Tidak boleh kosong (Not Null): Kolom primary key tidak boleh memiliki nilai NULL, karena primary key digunakan untuk mengidentifikasi setiap catatan.
- Bisa digunakan untuk merujuk (Referential Integrity): Primary key sering digunakan dalam pembentukan hubungan antara tabel dalam basis data. Ini membantu dalam membangun hubungan yang konsisten antara tabel.
- Biasanya diindeks (Indexed): Untuk meningkatkan kinerja pencarian data, kolom yang digunakan sebagai primary key seringkali diindeks.
Contoh primary key adalah ID pelanggan dalam tabel pelanggan atau nomor identifikasi unik dalam tabel produk.
2. Foreign Key (Kunci Asing):
Foreign key adalah jenis kunci yang digunakan untuk menghubungkan dua tabel dalam basis data. Ini adalah kolom atau sekelompok kolom dalam satu tabel yang merujuk ke primary key di tabel lain. Beberapa karakteristik utama dari foreign key adalah:
- Merujuk ke Primary Key: Foreign key selalu merujuk ke primary key di tabel lain. Ini membantu dalam membangun hubungan antara tabel.
- Tidak harus unik: Nilai-nilai dalam kolom foreign key tidak harus unik. Dalam banyak kasus, ada beberapa catatan dalam tabel yang mengacu pada catatan yang sama di tabel lain.
- Dapat berisi NULL: Kolom foreign key dapat berisi NULL jika tidak ada referensi yang sesuai dalam tabel yang diacu.
Contoh foreign key adalah kolom ID_pelanggan dalam tabel pesanan yang merujuk ke primary key ID_pelanggan dalam tabel pelanggan.
3. Kandidat Key (Candidate Key):
Kandidat key adalah satu atau lebih kolom dalam sebuah tabel yang dapat digunakan sebagai primary key. Ini berarti bahwa tabel tersebut memiliki beberapa kunci potensial yang dapat digunakan untuk mengidentifikasi catatan secara unik. Beberapa kandidat key mungkin memiliki karakteristik yang sama dengan primary key. Beberapa hal penting tentang kandidat key adalah:
- Unik: Seperti primary key, kandidat key harus memiliki nilai yang unik.
- Tidak boleh kosong (Not Null): Kandidat key juga tidak boleh berisi NULL.
- Dapat digunakan sebagai primary key: Salah satu kandidat key biasanya dipilih sebagai primary key, sementara yang lainnya tetap sebagai kandidat key.
Contoh kandidat key adalah ID_pelanggan dan Nomor_telepon dalam tabel pelanggan. Keduanya dapat digunakan sebagai primary key, tetapi biasanya salah satunya dipilih.
Contoh Penerapan:
Penerapan Primary Key dalam ERD (Entity Relationship Diagram):
1. Tabel Pelanggan
- Primary Key: ID_Pelanggan
- Pada ERD, ID_Pelanggan digunakan sebagai primary key untuk mengidentifikasi setiap catatan pelanggan secara unik.
2. Tabel Produk:
- Primary Key: Kode_Produk
- Kode_Produk digunakan sebagai primary key dalam tabel produk untuk memastikan setiap produk memiliki identifikasi yang unik.
3. Tabel Pesanan
- Primary Key: ID_Pesanan
- ID_Pesanan digunakan sebagai primary key untuk tabel pesanan, memastikan setiap pesanan memiliki nomor identifikasi yang unik.
4. Tabel Karyawan
- Primary Key: ID_Karyawan
- ID_Karyawan adalah primary key dalam tabel karyawan, yang memungkinkan pengidentifikasian unik karyawan.
5. Tabel Mahasiswa
- Primary Key: NIM (Nomor Induk Mahasiswa)
- NIM digunakan sebagai primary key dalam tabel mahasiswa untuk mengidentifikasi setiap mahasiswa dengan cara yang unik.
Penerapan Foreign Key dalam ERD (Entity Relationship Diagram)
1. Hubungan Antara Tabel Pesanan dan Pelanggan
- Tabel Pesanan memiliki kolom Foreign Key, ID_Pelanggan, yang merujuk ke Primary Key, ID_Pelanggan, dalam tabel Pelanggan. Ini menghubungkan pesanan dengan pelanggan yang melakukan pesanan tersebut.
2. Hubungan Antara Tabel Barang dalam Persediaan dan Pemasok
- Tabel Barang dalam Persediaan memiliki kolom Foreign Key, ID_Pemasok, yang merujuk ke Primary Key, ID_Pemasok, dalam tabel Pemasok. Ini menghubungkan barang dalam persediaan dengan pemasok yang memasoknya.
3. Hubungan Antara Tabel Review dan Produk
- Tabel Review memiliki kolom Foreign Key, Kode_Produk, yang merujuk ke Primary Key, Kode_Produk, dalam tabel Produk. Ini menghubungkan ulasan produk dengan produk yang diulas.
4. Hubungan Antara Tabel Pemesanan dan Produk
- Tabel Pemesanan memiliki kolom Foreign Key, Kode_Produk, yang merujuk ke Primary Key, Kode_Produk, dalam tabel Produk. Ini menghubungkan pemesanan dengan produk yang dipesan.
5. Hubungan Antara Tabel Nilai Akademik Mahasiswa dan Mahasiswa
- Tabel Nilai Akademik Mahasiswa memiliki kolom Foreign Key, NIM, yang merujuk ke Primary Key, NIM, dalam tabel Mahasiswa. Ini menghubungkan nilai akademik dengan mahasiswa yang mendapatkannya.
Penerapan Kandidat Key dalam ERD (Entity Relationship Diagram)
1. Tabel Peserta Ujian
- Kandidat Key: Nomor_Tes, Nomor_Peserta
- Dalam tabel Peserta Ujian, baik Nomor_Tes maupun Nomor_Peserta dapat digunakan sebagai primary key, karena keduanya unik. Salah satu di antaranya dipilih sebagai primary key.
2. Tabel Karyawan
- Kandidat Key: Nomor_Karyawan, Nomor_KTP
- Tabel Karyawan memiliki dua kandidat key, yaitu Nomor_Karyawan dan Nomor_KTP. Salah satu di antaranya dapat dipilih sebagai primary key.
3. Tabel Penerbit Buku
- Kandidat Key: ID_Penerbit, Nama_Penerbit
- Dalam tabel Penerbit Buku, baik ID_Penerbit maupun Nama_Penerbit dapat digunakan sebagai primary key, karena keduanya unik. Salah satu di antaranya dapat dipilih sebagai primary key.
4. Tabel Pasien
- Kandidat Key: ID_Pasien, Nomor_Asuransi
- Tabel Pasien memiliki dua kandidat key, yaitu ID_Pasien dan Nomor_Asuransi. Salah satu di antaranya dapat dipilih sebagai primary key.
5. Tabel Barang dalam Toko
- Kandidat Key: Kode_Barang, Nama_Barang
- Dalam tabel Barang dalam Toko, baik Kode_Barang maupun Nama_Barang dapat digunakan sebagai primary key, karena keduanya unik. Salah satu di antaranya dapat dipilih sebagai primary key.
Dalam kesimpulannya, primary key, foreign key, dan kandidat key adalah komponen penting dalam perancangan basis data. Primary key digunakan untuk mengidentifikasi catatan secara unik dalam sebuah tabel, foreign key digunakan untuk menghubungkan tabel yang berbeda, dan kandidat key adalah potensi primary key dalam sebuah tabel. Pemahaman yang baik tentang konsep ini penting untuk merancang basis data yang efisien dan konsisten.
post ini di buat untuk memnuhi tugas Basis Data dari bapa Adi Rizky Pratama Universitas Buana Perjuangan Karawang
0 comments