Langsung ke konten utama

Pengertian Primary Key, Foreign Key, dan Candidate Key. beserta contohnya.

Apa itu Primary Key, Foregent 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, Foreign 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.

Fungsi dari Primary key

  1. Uniqueness (Keunikannya): Memastikan bahwa setiap baris/rekaman dalam tabel memiliki nilai yang unik. Hal ini memungkinkan setiap data dalam tabel dapat diidentifikasi secara unik.
  2. Data Integrity (Ketepatan Data): Digunakan untuk menjaga integritas data dalam tabel. Dengan menggunakan kata kunci, kita dapat mencegah duplikasi data atau data yang tidak valid masuk ke dalam tabel.
  3. Referential Integrity (Integritas Referensial): Untuk menjaga integritas referensial antara tabel dalam database. kata kunci dapat digunakan sebagai foreign key pada tabel lain untuk membuat hubungan antar tabel.
Berikut adalah beberapa contoh penerapan primary key pada ERD

Contoh Primary Key 

  • Tabel Mahasiswa:
    Primary Key: ID MAHASISWA

    ID MAHASISWA

    NAMA

    JURUSAN

    22564379540

    Luthfi Halimawan

    Teknik Informatika

    22436711548

    Bimo Surya

    Manajemen


  • Tabel Buku:
    Primary key: ID BUKU

    ID BUKU

    JUDUL

    PENULIS

    101

    Kudasai

    Brian Khrisna

    102

    Tentang Kamu

    Tere liye


  • Tabel Pemesanan:
    Primary key: NOMOR ANTRIAN

    NOMOR ANTRIAN

    NAMA CUSTOMER

    PESANAN

    21

    Indra

    Salad

    22

    Nayla

    Pizza


  • Tabel Karyawan:
    Primary Key: ID KARYAWAN 

    ID KARYAWAN

    NAMA KARYAWAN

    JABATAN

    6382924730

    Harjo Darmono

    Leader

    2374291231

    Samsudi Cahyono

    Staff Produksi


  • Tabel Produk:
    Primary key: ORDER ID

    ORDER ID

    PRODUCT ID

    QUANTITY

    502

    64255239

    10

    501

    66255238

    53

     

Foreign Key (Kunci Asing)

foreign key adalah pengenal unik atau kombinasi pengenal unik yang menghubungkan dua tabel atau lebih dalam suatu database. Foreign 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

foreign key biasa digunakan sebagai penanda hubungan antar tabel. Suatu tabel dapat dikatakan asing jika terdapat kolom yang merupakan rujukan terhadap tabel utama. Selain itu, ada beberapa fungsi foreign key yang akan dijelaskan di bawah ini.

  • 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 Integritas Referensial: Salah satu fungsi utama dari Foreign Key adalah untuk 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) sebagai 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 Produk (ProductID).
    • Tabel Rincian Pesanan memiliki kolom Kode Produk (ProductID) sebagai foreign key yang merujuk ke Tabel Produk. Hal ini menghubungkan setiap rincian pesanan dengan produk yang dipesan.

  3. Hubungan antara Tabel Karyawan (Employee) dan Proyek (Project):
    • Tabel Karyawan memiliki kolom Kode Karyawan (EmployeeID).
    • Tabel Proyek 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 Kode Kategori (CategoryID) sebagai foreign key yang merujuk ke Tabel Kategori. Hal ini menghubungkan setiap produk dengan kategori produknya.

  5. Hubungan antara Tabel Departemen (Department) dan Karyawan (Employee):
    • 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. Tabel Produk
    • Candidate Key: Kode
    • Penjelasan:Setiap produk yang dijual oleh sebuah perusahaan memiliki kode produk yang unik. Setiap produk memiliki kode produk yang berbeda.
UBP Karawang Adirp.id

 






Komentar