Perbedaan Primary Key, Foreign Key ,Candidate Key dan Super Key Beserta Contohnya

2 min read

Perbedaan Primary Key, Foreign Key ,Candidate Key dan Super Key Beserta Contohnya

Kembali lagi di blog saya kodekreasi.com , pada artikel kali ini saya kan membahas tentang perbedaan primary key, foreign key, candidate key dan super key beserta contohnya. Dalam pembuatan sebuah database atau basis data pasti kalian tidak asing lagi istilah key atau kunci. Key sendiri bersifat unique atau antara data yang satu dengan yang lainya saling berbeda sehingga key sendiri sering digunakan pada proses normalisasi database untuk mencegah redudansi atau kerangkapan data. Jenis-jenis key sendiri ada bermacam-macam diantaranya :

  • Super Key
  • Primary Key
  • Foreign Key
  • Candidate Key
  • Alternate Key

Untuk apa saja sih key-key tersebut ? mari kita bahas secara lebih rinci satu persatu agar kalian lebih memahaminya.

Apa itu Primary Key ?

Primary key adalah suatu atribut(bisa satu atau lebih) yang digunakan untuk mendefinisikan atau memastikan bahwa setiap record didalam tabel tersebut bersifat unique atau berbeda antara yang satu dengan yang lainya.

Syarat nilai pada atribut yang dijadikan primary key :

  • Bersifat Unik atau berbeda dengan nilai atribut pada record lainya.
  • Nilai atribut tidak boleh Null (kosong, tidak diketahui, tidak dapat ditentukan)
  • Nilai Key tersebut lebih natural untuk dijadikan acuan

Contoh Primary Key

Perbedaan Primary Key, Foreign Key ,Candidate Key dan Super Key Beserta Contohnya
Gambar 1. Atribut Primary Key
Primary Key
Gambar 2. Nilai Primary Key

Sebagai contoh disini kita telah memiliki sebuah tabel mahasiswa dimana atribut – atribut nya terdiri dari id, nama, alamat, nik dan nim . pada tabel tersebut atrribut id akan kita jadikan sebagai primary key sehingga pada Gambar 2 nilai dari attribut yang kita jadikan primary key value nya harus bersifat unik atau harus berbeda dengan nilai pada baris lainya.

Apa itu Foreign Key ?

Foreign key adalah suatu atribut (bisa satu atau lebih) yang digunakan sebagai penghubung antara tabel satu dengan tabel yang lainya pada database relational.Tujuan dari kunci Asing adalah untuk menjaga integritas data dan memungkinkan navigasi antara dua contoh entitas yang berbeda. Foreign key ini bertindak sebagai referensi silang antara dua tabel karena mereferensikan kunci utama atau primary key dari tabel lain.

Contoh Foreign Key

Perbedaan Primary Key, Foreign Key
Gambar Contoh Foreign Key

Dari tabel yang sebelumnya kita hanya punya satu tabel sekarang kita tambah tabelnya menjadi 2 dengan menambahkan satu tabel dengan nama prodi. Karena antara tabel mahasiswa dan prodi memiliki hubungan maka kita harus membuat relasi dari kedua tabel tersebut. Untuk membuat relasinya kita membutuhkan sebuah foreign key sehingga kita tambahkan sebuah atrribut baru dengan nama kode_prodi pada tabel mahasiswa. kode_prodi akan menjadi kunci tamu dari kunci utama pada tabel prodi sehingga nilai dari atrribut kode_prodi pada tabel mahasiswa harus sama dengan nilai-nilai yang tersedia pada tabel prodi.

Apa Itu Candidate Key ?

Candidate Key merupakan sekumpulan atribut yang secara unik mengidentifikasi tupel dalam sebuah tabel. Kunci Kandidat adalah super key tanpa atribut berulang. jika melihat pada super key ada beberapa gabungan field yang bisa dijadikan key, maka pada candidate key ini kita lihat gabungan/himpunan yang paling sedikit, jika ada gabungan 3 field, gabungan 2 field, dan 1 field saja maka yang pantas menjadi candidate key adalah yang 1 field saja.

Contoh Candidate Key

Perbedaan Primary Key, Foreign Key ,Candidate Key dan Super Key
Gambar Contoh Candidate Key

Apa itu Super Key ?

Super key adalah sekumpulan atribut yang mengidentifikasi baris dalam tabel secara unik. Super Key adalah superset dari Candidate Key.

Contoh Super Key

Dalam tabel mahasiswa di atas, untuk (id, nama) nama mahasiswa bisa sama, tetapi id mereka tidak boleh sama. Karenanya, kombinasi ini juga bisa menjadi kunci.

Super key-nya adalah id, (id, nama), dll.

Perbedaan Primary Key dan Foreign Key

Primary Key

  • Nilai atributnya bersifat unik
  • Tidak boleh Null
  • Hanya ada satu primary key dalam satu tabel
  • Nilai pada primary key tidak dapat dihapus dari tabel induk.
  • Anda dapat menentukan kunci utama secara implisit di tabel sementara
  • Tidak ada batasan dalam memasukkan nilai pada primary key asalkan nilainya berbeda setiap row nya.

Foreign Key

  • Boleh memiliki nilai atribut yang sama lebih dari satu dalam satu tabel.
  • Dapat memiliki beberapa nilai null
  • Boleh memiliki lebih dari satu foreign key dalam satu tabel
  • Nilai pada foreign key dapat dihapus dari child tabel.
  • Anda tidak dapat menentukan kunci asing di tabel sementara lokal atau global.
  • Dalam memasukkan nilai harus berdasarkan tabel yang direferensikanya.

Perbedaan Super Key dan Candidate Key

Super Key

  • Super Key adalah atribut (atau sekumpulan atribut) yang digunakan untuk secara unik mengidentifikasi semua atribut dalam suatu relasi.
  • Dalam suatu relasi, jumlah super key lebih banyak dari pada jumlah candidate key.
  • Semua super key tidak boleh menjadi candidate key.

Candidate Key

  • Candidate Key adalah subset yang tepat dari Super Key.
  • Sedangkan dalam suatu relasi, jumlah kunci kandidat lebih sedikit dari jumlah kunci super.
  • Tetapi semua candidate key adalah super key.

Sekian artikel dari saya kali ini mengenai Perbedaan Primary Key, Foreign Key ,Candidate Key dan Super Key Beserta Contohnya ,jangan lupa baca artikel saya yang lain.

One Reply to “Perbedaan Primary Key, Foreign Key ,Candidate Key dan Super…”

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *