Pengertian Primary Key, Foreign Key, dan Candidate Key, Beserta contohnya

Pengertian Primary Key, Foreign Key, dan Candidate Key

Dalam desain database, terdapat konsep-konsep kunci yang penting untuk memahami hubungan antara tabel.Berikut adalah definisi dan contoh dari Primary Key, dan Candidate Key:

Primary Key (Kunci utama)

Primary key adalah satu atau lebih kolom yang secara unik mengidentifikasi setiap baris (record) dalam tabel. Syarat nilai dari primary key harus unik dan tidak boleh berisi nilai NULL.

Apa itu Primary Key?

Primary Key adalah kolom atau kombinasi kolom dalam sebuah tabel database yang digunakan untuk mengidentifikasi setiap baris atau record secara unik. Primary key berfungsi untuk memastikan bahwa tidak ada duplikat data dalam tabel.

Setiap tabel hanya bisa memiliki satu primary key dan harus terdiri dari kolom atau kombinasi kolom yang memenuhi syarat sebagai berikut:

§  Memiliki nilai unik untuk setiap record di dalam tabel.

§  Tidak boleh memiliki nilai null atau kosong.

§  Setiap tabel hanya boleh memiliki satu primary key.

Fungsi Primary Key

Primary key memiliki beberapa fungsi penting dalam sebuah database, di antaranya adalah:

1.     Mengidentifikasi setiap baris atau record secara unik.

2.     Menjamin keakuratan data dalam tabel.

3.     Meningkatkan kecepatan query dan pengolahan data.

4.     Memudahkan penggunaan foreign key.


Contoh Penggunaan Primary Key
Untuk Memahami lebih lanjut mengenai primary key, berikut adalah contoh penggunaannya dalam sebuah tabel database

Tabel Mahasiswa:
Primary Key: NIM

Toko Buku:
Primary Key: ID BUKU
Tabel Karyawan:
Primary Key: ID KARYAWAN
Tabel Pemesanan:
Primary Key: NOMOR ANTRIAN
Tabel Produk:
Primary Key: ORDER ID

Foreign Key (Kunci Asing)
foreign key adalah pengenal unik atau kombinasi pengenal unik yang menghubungkan dua tabel atau lebih dalam sautu database. Forgein Key juga sering disebut sebagai kunci asing.
Penggunaan foreign key ini merujuk pada suatu kunci primer yang terdapat pada tabel pertama atau yang biasa dikenal sebagai tabel master pada relasional database.
Fungsi Foreign Key
Pada dasarnya, Foreign key berfungsi untuk memberi tanda hubungan antar tabel, atau yang dalam istilah pemrograman disebut sebagai 'parent' dan 'child'.
Tabel pertama berperan sebagai parent yang berisi primary key atau table master. Sedangkan tabel kedua berperan sebagai child dan di sinilah tempat foreign key berada.
Sebuah tabel bisa dibilang sebagai child jika mempunyai kolom yang berisi data rujukan(reference) dari tabel pertama atau parent.
Selain itum, foreign key juga memiliki beberapa fungsi lain sebagai berikut:

Kesimpulan
Primary key merupakan kolom atau kombinasi kolom yang digunakan untuk mengidentifikasi setiap baris atau record secara unik dalam sebuah tabel database. Fungsi primary key adalah untuk menjamin keakuratan data, meingkatkan kecepatan query dan pengolahan data, serta memudahkan penggunaan foreign key. Hanya satu primary key yang dapat digunakan dalam satu tabel, dan kolom atau kombinasi kolom primary key harus memenuhi kriteria tertentu, yaitu memiliki nilai unik, tidak boleh null atau kosong, dan hanya satu dalam setiap tabel.
  • Menghubungkan Tabel: Foreign Key memungkinkan untuk menghubungkan satu tabel dengan tabel lain dalam database. Hal ini memungkinkan untuk menciptakan relasi atau hubungan antara data di dua tabel yang berbeda.
  • Memastikan Integrasi Regerensial: Salah satu fungsi utama dari Foreign Key adalah unutk memastikan Integritas referensial. Ini berarti bahwa data yang ada dalam kolom yang merupakan Foreign Key harus sesuai dengan data yang ada dalam kolom Primary Key di tabel yang terhubung.
  • Mengamankan Hubungan Antara Data: Dengan menggunakan Foreign Key, Anda dapat mengamankan hubungan antara data. Hal ini memastikan bahwa data yang terkait dengan satu sama lain akan selalu konsisten dan akurat.
Contoh Foreign Key
  1. Hubungan antara Tabel Pelanggan (Customer) dan pesanan (Order):
    • Tabel Pelanggan memiliki kolom Kode Pelanggan (CustomerID).
    • Tabel Pesanan memiliki kolom Kode Pelanggan (CustomerID). foreign key yang merujuk ke Tabel Pelanggan. Hal ini menghubungkan setiap pesanan dengan pelanggan yang melakukan pesanan
  2. Hubungan antara Tabel Produk(Product) dan Rincian Pesanan(OrderDetail):
    • Tabel Produk memiliki kolom Kode Peroduk (ProductID).
    • Tabel Rincian pesanan memiliki kolom Kode Peroduk (ProductID). sebagai foreign key yang merujuk ke Tabel Produk. Hal ini menghubungkan setiap rincian dengan produk yang di pesan.
  3. Hubungan antara Tabel Karyawan (Employee) dana proyek (Project):
    • Tabel Karyawan memiliki kolom kode karyawan (EmplooyeeID).
    • Tabel Karyawan memiliki kolom Kode Manajer (ManagerEmployeeID). sebagai foreign key yang merujuk ke Tabel Karyawan. Hal ini menghubungkan karyawan yang bertanggung jawab atas proyek.
  4. Hubungan antara Tabel Kategori (Category) dan Produk (Product):
    • Tabel Kategori memiliki kolom kode Kategori (CategoryID).
    • Tabel Produk memiliki kolom kdoe Kategori(CategoryID). sebagai foreign key yang merujuk ke Tabel Kategori. Hal ini Menghubungkan setiap produk dengan kategori prudknya.
  5. Hubungan antara Tabel Departemen (Departement) dan Karyawan (Employrr):
    • Tabel Departemen memiliki kolom Kode Departemen (DepartmentID).
    • Tabel Karyawan memiliki kolom Kode Departemen (DepartmentID) sebagai foreign key yang merujuk ke Tabel Departemen. Hal ini menghubungkan setiap karyawan dengan departemen tempat mereka bekerja.
Candidate Key (Kunci Kandidat)
Candidate key adalah kumpulan atribut yang memiliki sifat unik dan minimal, artinya tidak ada atribut tambahan yang dapat ditambahkan atau dihilangkan dari kumpulan atribut tersebut tanpa menghilangkan kemampuannya untuk membedakan setiap entitas.
Fungsi Candidate Key
  1. Mengidentifikasi Entitas Secara Unik: Candidate Key memastikan bahwa setiap entitasatau baris dalam tabel memiliki identifikasi unik. Tidak ada dua entitas yang dapat memiliki nilai kunci yang sama.
  2. Menghindari Redundansi Data: Dengan menggunakan Candidate Key, kita dapat menghindari penyimpanan data yang tidak perlu karena setiap entitas diidentifikasi oleh atribut yang memang diperlukan.
  3. Memungkinkan untuk Membentuk Relasi Antar Tabel: Candidate Key juga digunakan untuk membentuk relasi antar tabel dalam basis data relasional. Dalam banyak kasus, Candidate Key dari satu tabel juga dapat berfungsi sebagai Foreign Key di tabel lain.
Contoh Candidate Key
  1. Tabel Mahasiswa:
    • Candidate Key: NIM (Nomor Induk Mahasiswa)  
    • Penjelasan: Nomor Induk Mahasiswa adalah nomor unik yang diberikan kepada setiap mahasiswa di sebuah perguruan tinggi. Setiap mahasiswa memiliki NIM yang berbeda
  2. Tabel Buku:
    • Candidate Key: ISBN (International Standard Book Number)  
    • Penjelasan: ISBN adalah nomor unik yang diberikan kepada setiap buku yang diterbitkan di seluruh dunia. Setiap buku memiliki ISBN yang berbeda.
  3. Tabel Pegawai:
    • Candidate Key: NIP (Nomor Induk Pegawai)  
    • Penjelasan: Nomor Induk Pegawai adalah nomor unik yang diberikan kepada setiap pegawai di sebuah organisasi. Setiap pegawai memiliki NIP yang berbeda.
  4. Tabel Pesanan(Order):
    • Candidate Key: Nomor Pesanan  
    • Penjelasan: Setiap pesanan yang diterima oleh sebuah toko atau perusahaan memiliki nomor pesanan yang unik. Setiap pesanan memiliki nomor pesanan yang berbeda.
  5. Produk:
    • Candidate Key: Kode 
    • Penjelasan:Setiap produk yang dijual oleh sebuah perusahaan memiliki kode produk yang unik. Setiap produk memiliki kode produk yang berbeda.






Komentar