Memahami apa itu Primary Key, Foreign Key dan Candidate Key : Basis Data

Nahda Hadaya Nasywa
4 min readOct 5, 2023

--

Dalam model relasional, key penting karena digunakan untuk memastikan bahwa setiap baris dalam relasi dapat diidentifikasi secara unik. Key juga digunakan untuk membangun hubungan antar relasi dan untuk memastikan integritas data. Key terdiri atas satu atau beberapa atribut yang menentukan atribut lainnya. Misalnya, nomor faktur mengidentifikasi semua atribut faktur, seperti tanggal faktur dan nama pelanggan; ISBN mengidentifikasi semua atribut buku, seperti judul dan tahun terbit. Pada bagian ini akan dibahas candidate key, primary key, foreign key.

1.Candidate Key

Candidate Key (kunci calon) adalah salah satu rangkaian yang mempunyai nilai unik untuk membedakan atau mengidentifikasi nilai-nilai kombinasi yang unik diantara semua kejadian yang spesifik dari entetitas. Candidat key ini tidak boleh berisi atribut dari tabel yang lain. kombinasi dari atribut yang dapat digunakan untuk mengidentifikasi secara unik rekor database tanpa data apapun yang asing. Setiap tabel dapat memiliki satu atau lebih candidate key.

5 Contoh penerapan candidate key pada ERD:

1. Sistem Pengelolaan Stok Gudang:

Dalam ERD untuk sistem pengelolaan stok gudang, nomor identifikasi stok (seperti nomor seri atau nomor part) bisa digunakan sebagai candidate key untuk entitas “Stok.” Setiap item stok harus memiliki nomor identifikasi yang unik.

2. Sistem Akademik Universitas:

Dalam ERD sistem akademik universitas, nomor identifikasi mahasiswa (NIM) bisa digunakan sebagai candidate key untuk entitas “Mahasiswa.” Setiap mahasiswa harus memiliki NIM yang unik.

3. Sistem Manajemen Proyek:

Dalam ERD sistem manajemen proyek, nomor identifikasi proyek bisa digunakan sebagai candidate key untuk entitas “Proyek.” Setiap proyek harus memiliki nomor identifikasi yang unik.

4. Sistem Pemesanan Tiket:

Dalam ERD sistem pemesanan tiket, nomor pemesanan atau nomor tiket bisa digunakan sebagai candidate key untuk entitas “Pemesanan Tiket.” Setiap pemesanan tiket harus memiliki nomor yang unik.

5. Sistem Manajemen Karyawan HR:

Dalam ERD sistem manajemen karyawan di departemen sumber daya manusia (HR), nomor identifikasi pajak (SSN atau NPWP) bisa digunakan sebagai candidate key untuk entitas “Karyawan.” Setiap karyawan harus memiliki nomor pajak yang unik.

2. Primary Key

Primary key (kunci utama) adalah sebuah candidate key yang telah dipilih untuk mengidentifikasi setiap record secara unik. Primary key harus merupakan field yang benar-benar unik dan tidak boleh ada nilai NULL. Pengertian lainya primary key adalah suatu nilai dalam basis data yang digunakan untuk mengidentifikasi suatu baris dalam tabel. Primary key, salah satu atrribut dari candidat key dapat dipilih menjadi primary key dengan 3 kriteria sebagai berikut :

a. Key tersebut lebih natural untuk dijadikan acuan,

b. Key tersebut lebih sederhana,

c. Key tersebut cukup uniqe

5 Contoh penerapan Primary key pada ERD:

1. Tabel Pengguna (User):

Pada ERD yang menggambarkan sistem manajemen pengguna, atribut “ID Pengguna” sering digunakan sebagai primary key. Setiap pengguna memiliki ID unik yang digunakan untuk mengidentifikasinya dalam basis data.

2. Tabel Mahasiswa (Student):

Dalam ERD untuk sistem pengelolaan data mahasiswa, atribut “Nomor Induk Mahasiswa (NIM)” dapat digunakan sebagai primary key. Setiap mahasiswa memiliki NIM yang berbeda.

3. Tabel Produk (Product):

Dalam ERD toko online, atribut “Kode Produk” dapat digunakan sebagai primary key. Setiap produk yang dijual di toko memiliki kode produk yang berbeda.

4. Tabel Pesanan (Order):

Dalam ERD untuk sistem manajemen pesanan, atribut “Nomor Pesanan” dapat digunakan sebagai primary key. Setiap pesanan yang diterima memiliki nomor pesanan yang unik.

5. Tabel Buku (Book):

Dalam ERD untuk perpustakaan, atribut “Nomor ISBN” dapat digunakan sebagai primary key. Setiap buku memiliki nomor ISBN yang berbeda.

3. Foreign Key (Kunci Tamu)

Jika sebuah primary key terhubungan ke table/entity lain, maka keberadaan primary key pada entity tersebut di sebut sebagai foreign key. Foreign key adalah sebuah kumpulan field dalam satu relasi yang digunakan untuk me-refer (menunjuk) ke suatu baris (tuple) pada relasi yang lain, seperti logical pointer. Sedangkan hubungan antara keduanya (primary key dan foreign key) di jelaskan bahwa primary key adalah field kunci utama dari suatu tabel yang menunjukkan bahwa field yang menjadi kunci tersebut tidak bisa diisi dengan data yang sama, atau dengan kata lain primary key menjadikan tiap record memiliki identitas sendiri-sendiri yang membedakan satu sama lainnya (unik). Foreign key adalah satu atribut yang melengkapi satu relationship yang menunjukan ke induknya, dengan kata lain keduanya saling berkaitan.

5 Contoh penerapan Foreign key pada ERD:

1. Hubungan antara Tabel “Pemesanan” dan “Pelanggan”:

- Entitas “Pemesanan” memiliki foreign key yang mengacu pada entitas “Pelanggan”. Ini memungkinkan setiap pemesanan untuk terkait dengan pelanggan tertentu.

2. Hubungan antara Tabel “Pemesanan” dan “Produk”:

- Entitas “Pemesanan” memiliki foreign key yang mengacu pada entitas “Produk”. Ini memungkinkan setiap pemesanan untuk terkait dengan produk yang dipesan.

3. Hubungan antara Tabel “Pemesanan” dan “Pengiriman”:

- Entitas “Pemesanan” memiliki foreign key yang mengacu pada entitas “Pengiriman”. Ini memungkinkan setiap pemesanan untuk terkait dengan informasi pengiriman yang sesuai.

4. Hubungan antara Tabel “Pegawai” dan “Departemen”:

- Entitas “Pegawai” memiliki foreign key yang mengacu pada entitas “Departemen”. Ini menghubungkan setiap pegawai ke departemen tempat mereka bekerja.

5. Hubungan antara Tabel “Barang” dan “Kategori”:

  • Entitas “Barang” memiliki foreign key yang mengacu pada entitas “Kategori”. Ini memungkinkan setiap barang terkait dengan kategori tertentu.

Terimakasih kepada UBP atas tugas yang begitu cukup mudah..🤞 Ubpkarawang.ac.id makasih bapak Adirp.id

--

--