Disyorkan, 2020

Pilihan Editor

Perbezaan antara kunci utama dan kekunci Unik

Kami telah mengkaji pelbagai jenis kunci yang digunakan dalam pangkalan data dan skema dalam artikel terdahulu iaitu Perbezaan antara kunci utama dan kunci asing. Dalam artikel ini, kita membezakan kunci Utama dan kekunci Unik. Kedua-dua kekunci utama dan kekunci unik digunakan untuk mengenal pasti tuple secara unik dan menguatkuasakan keunikan dalam lajur atau gabungan lajur.

Perbezaan penting antara kunci utama dan kekunci unik adalah kunci utama tidak menerima nilai NULL sedangkan nilai NULL dibenarkan dalam kekangan utama Unik.

Carta Perbandingan

Asas untuk perbandinganKunci utamaKunci unik
AsasIa digunakan untuk menjadi pengenal unik bagi setiap baris dalam jadual.Ia juga unik menentukan satu baris, yang tidak ditakrifkan sebagai kunci utama.
Penerimaan nilai NULLKekunci utama tidak akan menerima nilai NULL.Unik akan menerima nilai NULL.
Bilangan kekunci yang boleh ditakrifkan dalam jadualHanya satu kunci utamaLebih daripada satu
IndeksMewujudkan indeks berkelompokMencipta indeks bukan berkumpulan

Definisi kekunci Utama

Lajur boleh dipanggil sebagai kunci utama jadualnya jika ia unik mengenal pasti setiap tuple (baris) di dalam jadual itu. Ia menguatkuasakan kekangan integriti kepada jadual. Hanya satu kunci utama dibenarkan dalam jadual. Kekunci utama tidak menerima nilai pendua dan NULL. Kekunci utama dipilih dengan berhati-hati di mana perubahan boleh terjadi dengan cara yang jarang, bermakna kunci utama dalam jadual berubah sangat jarang.

Mari kita faham idea kunci utama dengan bantuan jadual. Di sini kita mencipta jadual yang dinamakan jadual Pelajar, yang mempunyai sifat-sifat seperti Roll_number, Nama, Batch, Phone_number, Citizen_ID.

Dalam contoh yang diberikan, nombor roll atribut tidak boleh mempunyai nilai yang sama dan NULL, kerana setiap pelajar mendaftar di universiti dengan Roll_number yang unik. Tiada dua pelajar boleh mempunyai Roll_number yang sama, dan setiap baris dalam jadual unik dikenal pasti dengan nombor roll pelajar. Jadi, kita boleh membuat atribut Roll_number sebagai kunci utama dalam kes ini.

Kunci utama boleh dirujuk oleh kunci asing. Ia mewujudkan indeks perkumpulan unik di atas meja. Dalam indeks cluster, barisan data disusun dan disimpan dalam jadual atau pandangan berdasarkan nilai-nilai pentingnya. Terdapat hanya satu indeks perkumpulan dalam jadual, alasan di sebalik ini ialah baris data dalam jadual boleh disusun dalam satu pesanan saja.

Definisi kekunci Unik

Sama seperti kunci utama, Kekangan utama yang unik juga mengenal pasti tuple individu secara unik dalam hubungannya. Tetapi, ada perbezaan tertentu di antara mereka. Jadual boleh mempunyai lebih daripada satu kunci unik. Kekangan utama unik boleh menerima hanya satu nilai NULL untuk lajur.

Mari kita faham ini dengan contoh yang sama, di mana kita mempunyai jadual Pelajar dengan sifat Roll_number, Nama, Batch, Phone_number dan Citizen_ID. Atribut nombor roll ditugaskan dengan kunci utama.

Di sini Citizen_ID boleh ditugaskan dengan kekangan yang unik di mana setiap entri dalam lajur Citizen_ID mestilah unik, bukan pendua kerana setiap warganegara sesebuah negara mesti mempunyai nombor pengenalan Uniknya. Tetapi, jika seorang pelajar berpindah dari negara lain, dalam hal ini, dia tidak akan mempunyai Citizen_ID dan entri itu boleh mempunyai nilai NULL kerana satu NULL dibenarkan dalam kendala yang unik.

Kekangan unik juga dirujuk oleh kunci asing. Ia boleh digunakan apabila seseorang mahu menguatkuasakan kekangan pada lajur dan kumpulan lajur yang bukan kunci utama. Tidak seperti kunci utama, ia menghasilkan indeks bukan berkumpulan . Indeks bukan kluster mempunyai struktur yang berbeza daripada baris data. Setiap kemasukan nilai utama di dalamnya menunjukkan kepada baris data yang mengandungi nilai utama dengan itu ia menggunakan petunjuk.

Perbezaan Kekunci Antara Kunci utama dan Kekunci Unik

  1. Apabila atribut diisytiharkan sebagai kunci utama, ia tidak akan menerima nilai NULL. Sebaliknya, apabila atribut diisytiharkan sebagai Unik ia boleh menerima satu nilai NULL.
  2. Jadual boleh hanya mempunyai kekunci primer sedangkan terdapat banyak kekangan unik di atas meja.
  3. Indeks Cluster yang dibuat secara automatik apabila kunci utama ditakrifkan. Sebaliknya, kunci Unik menjana indeks bukan berkumpulan.

Kesimpulannya

Kunci utama dan kekunci Unik, kedua-duanya memberi tujuan kepada pengenal unik untuk barisan jadual dengan nilai unik dalam lajur atau kumpulan lajur. Kekangan-kekangan utama ini dibezakan dengan ketara di mana setiap jadual boleh mempunyai paling satu kunci utama manakala jadual boleh mempunyai pelbagai kekunci unik yang tidak utama.

Top