Rumah  >  Artikel  >  pangkalan data  >  Analisis tentang perbezaan antara kunci super, kunci utama dan kunci calon dalam MySQL

Analisis tentang perbezaan antara kunci super, kunci utama dan kunci calon dalam MySQL

WBOY
WBOYke hadapan
2022-08-01 15:08:321877semak imbas

Artikel ini membawakan anda pengetahuan yang berkaitan tentang mysql terutamanya memperkenalkan perbezaan antara kunci super, kunci utama dan kunci calon dalam MySQL. Saya harap ia akan membantu semua orang .

Analisis tentang perbezaan antara kunci super, kunci utama dan kunci calon dalam MySQL

Pembelajaran yang disyorkan: tutorial video mysql

Mengenai perbezaan antara kunci super, kunci utama dan kunci calon

Baru-baru ini saya menemui soalan semasa saya membaca buku MySQL:

Memandangkan kita sudah mempunyai konsep kunci utama, dan kunci utama sudah boleh memenuhi keperluan, mengapa kita masih memerlukan perkara sedemikian sebagai kunci calon? Apakah peranan kunci calon? Ia diberikan takrifan utama calon tetapi ia tidak benar-benar kacau dengan apa-apa.

Dengan mentaliti meminta maklumat lanjut, saya mencari dalam talian dan melihat penjelasan pakar saya masih berasa sedikit keliru, jadi saya ingin menyelesaikannya di sini untuk membantu diri saya memahami dengan lebih jelas. Saya juga berharap seseorang boleh memberi saya beberapa petunjuk jika saya mempunyai salah faham Berikut adalah beberapa pemahaman saya:

Malah, kunci utama dan kunci super adalah lebih baik ialah jadual seperti ini:

Analisis tentang perbezaan antara kunci super, kunci utama dan kunci calon dalam MySQL

Tulisannya agak kasar, jadi saya akan lihat sahaja.

Kunci super

Set atribut yang boleh mengenal pasti tuple secara unik dalam perhubungan dipanggil kunci super skema perhubungan. Perhatikan "set atribut" dalam definisi Kekunci super boleh menjadi set yang besar, asalkan ia boleh menentukan baris mana itu, jadi 'id', 'user', 'pwd', 'section', 'name'. semua OK ialah set kekunci super.

Kunci Calon

Kunci super yang tidak mengandungi atribut berlebihan Contohnya, dalam kunci super di atas, 'id' boleh menentukan baris mana ia dengan sendirinya, jadi ia boleh menjadi kunci calon. dengan sendirinya, empat yang lain selain ia juga boleh menjadi kunci calon, tetapi lima ini disatukan kerana terdapat lajur berlebihan, ia bukan kunci calon. (Empat yang lain boleh menjadi kunci calon kerana setiap lajur mungkin mempunyai kandungan pendua)

Kunci utama

Cari satu daripada semua kunci calon untuk digunakan sebagai kunci utama, iaitu Ia boleh menjadi ID , ia boleh menjadi gabungan empat yang lain, atau ia boleh menjadi pilihan lain, asalkan ia boleh memastikan set yang dipilih boleh ditentukan secara unik.

Ringkasnya, kunci calon ialah subset kunci super dan kunci primer ialah subset kunci calon.

Sebenarnya, setelah selesai banyak-banyak, saya masih tidak faham apa fungsi kunci calon sebenarnya, ia mungkin seperti ruang menunggu sahaja , dan terdapat beberapa kunci utama di ruang menunggu Duduk dan beritahu anda: "Kami semua telah membeli tiket dan layak untuk menaiki bas. Sesiapa yang anda pilih untuk menaiki bas akan menaiki bas bersama anda." Itu sepatutnya.

Fahami konsep dan hubungan kunci super, kunci calon, kunci utama

Konsep asas

  • Kunci super: Kunci yang mengenal pasti tuple secara unik dalam perhubungan Set atribut dipanggil superkey/key skema hubungan.
  • Kunci calon: Kunci super yang tidak mengandungi atribut berlebihan dipanggil kunci calon, iaitu subset yang betul bukan lagi kunci super.
  • Kunci utama: Kunci calon yang dipilih oleh pengguna sebagai pengecam tuple dipanggil kunci utama dan merupakan salah satu kunci calon.

Perhubungan

Kunci calon ialah subset kunci super, dan kunci utama ialah salah satu kunci calon.

Sebagai contoh

Pertimbangkan set atribut (nombor ID, nama, jantina, umur), dengan andaian tiada nama pendua

a ialah:

  • Nombor kad pengenalan, nama, (nama, jantina), (nama, jantina, umur), dll.
  • --Ia boleh dilihat di sini bahawa kunci super boleh secara unik Menentukan kumpulan atribut seseorang

b Kunci calon dalam kunci super

  • Nombor dan nama ID adalah unik dan mempunyai. tiada atribut berlebihan. Jadi ia adalah kunci calon
  • --Dapat dilihat di sini bahawa kunci calon ialah kunci super tanpa atribut berlebihan

c kunci utama

  • Pengguna boleh memilih nama atau nombor ID mereka sebagai kunci utama mengikut keutamaan mereka sendiri
  • --kunci utama ialah kunci calon yang dipilih

Tak faham lagi?

Contoh:

Dalam pangkalan data SQL Server, terdapat jadual maklumat pelajar seperti yang ditunjukkan di bawah Set atribut yang tidak boleh digunakan sebagai kunci calon dalam jadual ini ialah ( ) ( Pilih satu)

ID Pelajar, Nama, Jantina, Umur, Jabatan, Major
20020612 Li Huinan 20 Pembangunan Perisian Komputer
20060613 Zhang Mingnan 18 Pembangunan Perisian Komputer
20060614 Wang Xiaoyunu 19 Fizik dan Mekanik
20060615 Li Shuhua Perempuan 17 Zoologi Biologi
20060616 Zhao Jingnan 21 Kimia Kimia Makanan
20060612 20060612 Zhao a ) {nombor pelajar}

b) {nombor pelajar, nama}
c) {umur, jabatan}

d) {nama, jantina}
e) {nama, jurusan}


Pembelajaran yang disyorkan:

tutorial video mysql

Atas ialah kandungan terperinci Analisis tentang perbezaan antara kunci super, kunci utama dan kunci calon dalam MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:jb51.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam