Apa itu Primary Key, Foreign Key, dan Candidate Key


1. Primary Key

Definisi: Primary key adalah kolom atau kombinasi kolom dalam sebuah tabel yang secara unik mengidentifikasi setiap baris data. Nilainya harus unik dan tidak boleh null.

Ciri-ciri:

  • Unik untuk setiap baris.
  • Tidak boleh bernilai null.
  • Satu tabel hanya boleh memiliki satu Primary Key.

Contoh Penerapan dalam ERD:

  • Tabel Mahasiswa: id_mahasiswa (Primary Key)
  • Tabel Mata Kuliah: id_matkul (Primary Key)
  • Tabel Dosen: id_dosen (Primary Key)
  • Tabel Transaksi: id_transaksi (Primary Key)
  • Tabel KRS: id_krs (Primary Key)

2. Foreign Key

Definisi: Foreign key adalah kolom atau kombinasi kolom yang digunakan untuk membuat hubungan antara dua tabel. Nilainya mengacu pada Primary Key di tabel lain.

Ciri-ciri:

  • Menghubungkan dua tabel.
  • Merujuk ke Primary Key di tabel lain.
  • Boleh bernilai null jika hubungan tidak wajib.

Contoh Penerapan dalam ERD:

  • Tabel KRS: id_mahasiswa (Foreign Key ke id_mahasiswa di tabel Mahasiswa).
  • Tabel KRS: id_matkul (Foreign Key ke id_matkul di tabel Mata Kuliah).
  • Tabel Mata Kuliah: id_dosen (Foreign Key ke id_dosen di tabel Dosen).
  • Tabel Transaksi: id_mahasiswa (Foreign Key ke id_mahasiswa di tabel Mahasiswa).
  • Tabel Nilai: id_krs (Foreign Key ke id_krs di tabel KRS).

3. Candidate Key

Definisi: Candidate key adalah kolom atau kombinasi kolom yang secara unik dapat mengidentifikasi baris dalam tabel. Dari candidate key yang ada, satu dipilih sebagai Primary Key.

Ciri-ciri:

  • Harus unik.
  • Tidak boleh bernilai null.
  • Bisa ada lebih dari satu dalam satu tabel.

Contoh Penerapan dalam ERD:

  • Tabel Mahasiswa:
    • id_mahasiswa (Candidate Key)
    • NIM (Candidate Key)
  • Tabel Mata Kuliah:
    • id_matkul (Candidate Key)
    • kode_matkul (Candidate Key)
  • Tabel Dosen:
    • id_dosen (Candidate Key)
    • NIP (Candidate Key)
  • Tabel Transaksi:
    • id_transaksi (Candidate Key)
    • no_invoice (Candidate Key)
  • Tabel KRS:
    • id_krs (Candidate Key)
    • Kombinasi id_mahasiswa + id_matkul + semester (Candidate Key)


Penjelasan Hubungan dalam ERD

  • Primary Key adalah identitas unik di setiap tabel. Misalnya, id_mahasiswa di tabel Mahasiswa.
  • Foreign Key menghubungkan tabel satu dengan tabel lainnya. Misalnya, id_mahasiswa di tabel KRS merujuk ke Primary Key id_mahasiswa di tabel Mahasiswa.
  • Candidate Key adalah semua kolom yang memenuhi syarat sebagai Primary Key. Salah satunya dipilih sebagai Primary Key. Misalnya, dalam tabel Mahasiswa, baik id_mahasiswa maupun NIM bisa menjadi Candidate Key.


Komentar

Postingan populer dari blog ini

langkah-langkah untuk menginstal MySQL di sistem operasi Windows

Relasi pada ERD? Mengapa many-to-many tidak baik digunakan?

Skrip SQL untuk membuat tabel dengan 1000 baris data