Direkomendasikan, 2024

Pilihan Editor

Perbedaan Antara Kunci Utama dan Kunci Unik

Kami telah mempelajari berbagai jenis kunci yang digunakan dalam database dan skema dalam artikel sebelumnya yaitu Perbedaan Antara Kunci Utama dan Kunci Asing. Dalam artikel ini, kami membedakan kunci utama dan kunci unik. Kunci primer dan kunci unik digunakan untuk mengidentifikasi tuple secara unik dan menegakkan keunikan dalam kolom atau kombinasi kolom.

Perbedaan penting antara kunci primer dan kunci unik adalah bahwa kunci utama tidak menerima nilai NULL sedangkan nilai NULL diizinkan dalam batasan kunci unik.

Grafik perbandingan

Dasar untuk perbandinganKunci utamaKunci unik
DasarIni digunakan untuk berfungsi sebagai pengidentifikasi unik untuk setiap baris dalam sebuah tabel.Ini juga secara unik menentukan baris, yang tidak didefinisikan sebagai kunci utama.
Penerimaan nilai NULLKunci utama tidak akan menerima nilai NULL.Unik akan menerima nilai NULL.
Jumlah kunci yang dapat didefinisikan dalam tabelHanya satu kunci utamaLebih dari satu
IndeksMembuat indeks berkerumunMembuat indeks yang tidak berkerumun

Definisi kunci Utama

Kolom dapat disebut sebagai kunci utama dari tabelnya jika secara unik mengidentifikasi setiap tuple (baris) dalam tabel itu. Ini memberlakukan batasan integritas ke tabel. Hanya satu kunci utama yang diizinkan dalam tabel. Kunci utama tidak menerima nilai duplikat dan NULL. Kunci utama dipilih dengan hati-hati di mana perubahan jarang terjadi, artinya kunci primer dalam tabel sangat jarang berubah.

Mari kita memahami pengertian kunci primer dengan bantuan tabel. Di sini kita membuat tabel bernama tabel Student, yang memiliki atribut seperti Roll_number, Name, Batch, Phone_number, Citizen_ID.

Dalam contoh yang diberikan, nomor roll atribut tidak pernah dapat memiliki nilai identik dan NULL, karena setiap siswa mendaftar di universitas dengan Roll_number unik. Tidak ada dua siswa yang memiliki nomor Roll_number yang sama, dan setiap baris dalam sebuah tabel diidentifikasi secara unik dengan nomor gulungan siswa. Jadi, kita bisa menjadikan atribut Roll_number sebagai kunci utama dalam kasus khusus ini.

Kunci utama dapat dirujuk oleh kunci asing. Itu membuat indeks berkerumun unik di atas meja. Dalam indeks berkerumun, baris data diurutkan dan disimpan dalam tabel atau tampilan berdasarkan nilai-nilai kunci. Hanya ada satu indeks berkerumun dalam tabel, alasan di balik ini adalah bahwa baris data dalam tabel dapat diurutkan hanya dalam satu urutan.

Definisi kunci unik

Mirip dengan kunci primer, batasan kunci unik juga mengidentifikasi tupel individu secara unik dalam suatu relasi. Tapi, ada perbedaan tertentu di antara mereka. Sebuah tabel dapat memiliki lebih dari satu kunci unik. Batasan kunci unik hanya dapat menerima satu nilai NULL untuk kolom.

Mari kita pahami ini dengan contoh serupa, di mana kami memiliki tabel Student dengan atribut Roll_number, Name, Batch, Phone_number dan Citizen_ID. Atribut nomor roll ditugaskan dengan kunci utama.

Di sini Citizen_ID dapat diberi batasan unik di mana setiap entri dalam kolom Citizen_ID harus unik, bukan duplikat karena setiap warga negara harus memiliki nomor identifikasi Uniknya. Tetapi, jika seorang siswa bermigrasi dari negara lain, dalam kasus itu, ia tidak akan memiliki Citizen_ID dan entri tersebut dapat memiliki nilai NULL karena satu NULL diperbolehkan dalam batasan unik.

Batasan unik juga dirujuk oleh kunci asing. Ini dapat digunakan ketika seseorang ingin menegakkan batasan pada kolom dan sekelompok kolom yang bukan kunci utama. Tidak seperti kunci primer, ini menghasilkan indeks non-cluster . Indeks non-clustered memiliki struktur yang berbeda dari baris data. Setiap entri nilai kunci di dalamnya menunjuk ke baris data yang berisi nilai kunci karenanya menggunakan pointer.

Perbedaan Kunci Antara Kunci Utama dan Kunci Unik

  1. Ketika suatu atribut dinyatakan sebagai kunci utama, itu tidak akan menerima nilai NULL. Di sisi lain, ketika atribut dinyatakan sebagai Unik, ia dapat menerima satu nilai NULL.
  2. Sebuah tabel hanya dapat memiliki kunci utama sedangkan ada beberapa batasan unik pada sebuah tabel.
  3. Indeks Clustered secara otomatis dibuat ketika kunci utama didefinisikan. Sebaliknya, kunci unik menghasilkan indeks non-cluster.

Kesimpulan

Kunci primer dan kunci unik melayani tujuan pengidentifikasi unik untuk baris tabel dengan nilai unik dalam kolom atau grup kolom. Batasan-batasan kunci ini secara signifikan dibedakan di mana setiap tabel dapat memiliki paling banyak satu kunci primer sementara sebuah tabel dapat memiliki beberapa kunci unik yang bukan primer.

Top