Perbedaan Antara Kunci Utama dan Kunci Unik

Kunci primer dan kunci unik keduanya adalah kunci unik dalam database relasional yang menjamin keunikan nilai pada kolom atau kumpulan kolom. Sudah ada batasan kunci unik yang telah ditentukan sebelumnya dalam batasan kunci primer. Sementara kunci utama terutama digunakan untuk mengidentifikasi setiap catatan dalam tabel, kunci unik, di sisi lain, digunakan untuk mencegah entri duplikat dalam kolom dengan pengecualian entri nol. Namun, kedua kunci dapat berisi lebih dari satu kolom dari tabel yang diberikan dan keduanya memainkan peran penting dalam menyimpan dan mengambil data. Data adalah serangkaian tabel dengan kolom dan kolom ini menyimpan informasi dari semua jenis yang selanjutnya dapat diakses atau diambil dengan menggunakan instruksi. Di sinilah kunci datang ke gambar. Kunci Utama dan Kunci Unik adalah dua kunci unik yang menentukan bagaimana data harus disimpan dalam sistem.

Kunci utama

Kunci utama (juga menggunakan kata kunci primer), adalah kunci unik dalam basis data relasional yang mengidentifikasi setiap catatan dalam tabel basis data. Ini semacam pengidentifikasi unik, seperti nomor jaminan sosial seseorang, nomor telepon, nomor SIM, atau nomor plat kendaraan. Database harus hanya memiliki satu kunci utama.

Tabel dalam database berisi kolom atau kumpulan kolom yang berisi nilai-nilai yang secara unik mengidentifikasi setiap baris dalam tabel. Kolom ini atau seperangkat kolom disebut kunci utama dari tabel yang harus mengandung nilai unik, dan tidak dapat berisi nilai null. Tanpa kunci utama, basis data relasional tidak akan berfungsi.

Kunci utama dibuat dengan mendefinisikan batasan PRIMARY KEY saat membuat atau memodifikasi tabel. Dalam SQL Standard, kunci utama dapat berisi satu atau beberapa kolom, sedangkan setiap kolom secara implisit didefinisikan sebagai TIDAK NULL. Jika Anda menetapkan batasan KUNCI UTAMA pada lebih dari satu kolom, itu dapat mengakibatkan duplikasi nilai dalam satu kolom, itu sebabnya setiap kombinasi nilai harus unik untuk semua kolom.

Kunci utama memiliki fungsi-fungsi berikut:

  • Setiap tabel harus memiliki satu dan hanya satu kunci utama, tidak lebih dari satu.
  • Kunci utama tidak boleh berisi nilai NULL.
  • Ini dapat terdiri dari satu atau lebih kolom.
  • Semua kolom harus didefinisikan sebagai NOT NULL.
  • Kunci utama dikelompokkan indeks unik secara default.

Kunci unik

Kunci unik adalah kumpulan satu atau lebih dari satu kolom / bidang tabel yang secara unik mengidentifikasi catatan dalam tabel database. Kendala KUNCI UNIK memastikan semua nilai dalam kolom unik dalam database. Sama seperti kunci primer, kunci unik juga dapat terdiri dari lebih dari satu kolom. Namun, kunci unik hanya dapat menerima satu nilai nol. Tidak ada dua baris yang memiliki nilai yang sama dalam tabel database.

Kunci unik sangat mirip dengan kunci primer dan dapat didefinisikan selama pembuatan tabel. Ketika satu kolom atau satu set kolom ditandai sebagai unik dalam sistem basis data relasional, itu memeriksa integritas nilai sebelum menetapkan kendala sehingga untuk mencegah dua catatan dari memiliki nilai yang identik dalam kolom tertentu.

UNIQUE adalah kendala pada kolom KUNCI non-PRIMER yang mencirikan berikut:

  • Batasan KUNCI UNIK menjamin keunikan nilai-nilai.
  • Beberapa kunci unik dapat didefinisikan pada sebuah tabel.
  • Kolom mungkin berisi nilai NULL, tetapi hanya satu nilai NULL per kolom yang dibolehkan.
  • Kunci unik dapat membuat indeks non-cluster secara default.

Perbedaan Antara Kunci Utama dan Kunci Unik

1. Fungsi

Kunci utama adalah semacam pengidentifikasi kunci unik yang secara unik mengidentifikasi baris dalam tabel database, sementara kunci unik mengidentifikasi semua baris yang mungkin ada dalam tabel dan bukan hanya baris yang ada saat ini.

2. Perilaku

Kunci utama digunakan untuk mengidentifikasi catatan dalam tabel database, sedangkan kunci unik digunakan untuk mencegah nilai duplikat dalam kolom dengan pengecualian entri nol.

3. Pengindeksan

Kunci utama membuat indeks unik berkerumun secara default, sedangkan kunci unik adalah indeks non-berkerumun unik dalam tabel database secara default.

4. Nilai Null

Kunci utama tidak dapat menerima nilai NULL dalam tabel database sedangkan kunci unik hanya dapat menerima satu nilai NULL dalam tabel.

5. Batasi

Hanya ada satu dan hanya satu kunci utama pada sebuah tabel, namun, ada beberapa kunci unik untuk sebuah tabel dalam sistem basis data.

Kunci Utama vs. Kunci Unik

Kunci utama

Kunci unik

Kunci utama digunakan untuk secara unik mengidentifikasi catatan / baris dalam tabel database. Kunci unik digunakan untuk mengidentifikasi secara unik semua baris yang mungkin dalam tabel dan tidak hanya baris yang ada saat ini.
Itu tidak menerima nilai NULL. Itu hanya dapat menerima satu nilai NULL dalam tabel.
Itu adalah indeks berkerumun secara default yang berarti data disusun dalam urutan indeks berkerumun. Ini adalah indeks non-clustered yang unik secara default.
Hanya ada satu kunci utama dalam sebuah tabel. Sebuah tabel dapat memiliki beberapa kunci unik.
Kunci primer didefinisikan dengan menggunakan batasan PRIMARY KEY. Kunci unik diwakili menggunakan batasan UNIK.
Digunakan untuk mengidentifikasi baris dalam sebuah tabel. Digunakan untuk mencegah nilai duplikat di kolom.
Nilai kunci primer tidak dapat diubah atau dihapus. Nilai kunci unik dapat dimodifikasi.

Ringkasan

  • Baik kunci primer dan kunci unik adalah kendala integritas entitas yang serupa dalam banyak aspek. Namun, mereka memiliki perbedaan yang adil dalam hal pemrograman. Keduanya adalah konsep penting yang terutama digunakan dalam sistem manajemen basis data.
  • Kunci primer adalah kumpulan satu atau beberapa kolom / bidang tabel database yang secara unik mengidentifikasi catatan dalam tabel. Kunci unik, di sisi lain, mencegah dua catatan memiliki nilai yang identik dalam kolom.
  • Secara konseptual, hanya ada satu KUNCI UTAMA untuk tabel yang diberikan, sementara mungkin ada lebih dari satu KUNCI UNIK untuk sebuah tabel.
  • Kunci primer harus unik tetapi kunci unik tidak harus menjadi kunci primer.
  • Kunci utama tidak dapat menerima nilai NULL dalam tabel, sedangkan kunci unik dapat memungkinkan nilai NULL dengan pengecualian hanya satu NULL dalam tabel.