Rumah pangkalan data tutorial mysql Apakah maksud kunci utama komposit mysql?

Apakah maksud kunci utama komposit mysql?

Mar 30, 2023 am 10:15 AM
mysql

Dalam MySQL, kunci utama komposit bermaksud kunci utama jadual pangkalan data mengandungi lebih daripada satu medan, iaitu kunci utama berbilang medan ialah kunci utama komposit adalah sejenis kunci utama dan mempunyai fungsi dan definisi yang sama seperti kunci utama. Kunci primer komposit tidak boleh mengandungi lajur berlebihan yang tidak diperlukan apabila lajur kunci utama komposit dipadamkan, jika kunci utama yang terdiri daripada lajur yang tinggal masih memenuhi prinsip keunikan, maka kunci utama komposit adalah salah.

Apakah maksud kunci utama komposit mysql?

Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.

Apakah kunci utama komposit bagi jadual data?

Apa yang dipanggil kunci utama komposit bermakna kunci utama jadual anda mengandungi lebih daripada satu medan.

Kunci utama berbilang medan MySQL juga boleh menjadi kunci utama komposit. Kunci primer komposit juga merupakan jenis kunci primer dan mempunyai fungsi dan definisi yang sama seperti kunci primer.

Kekangan kunci utama mentakrifkan kunci utama dalam jadual untuk menentukan secara unik pengecam setiap baris data dalam jadual. Kunci utama boleh menjadi lajur tertentu dalam jadual atau gabungan berbilang lajur Kunci utama yang terdiri daripada berbilang lajur dipanggil kunci utama komposit.

Kunci primer komposit tidak boleh mengandungi lajur berlebihan yang tidak diperlukan. Apabila lajur kunci utama komposit dipadamkan, jika kunci utama yang terdiri daripada lajur yang tinggal masih memenuhi prinsip keunikan, maka kunci utama komposit adalah salah. Ini adalah prinsip meminimumkan.

Contohnya:

create table test
(
name varchar(19),
id number,
value varchar(10),
primary key (name,id)
)
Salin selepas log masuk

Gabungan nama dan medan id di atas ialah kunci utama komposit jadual ujian anda

Ia muncul kerana medan nama anda mungkin muncul Nama pendua, jadi tambah medan ID untuk memastikan keunikan rekod anda

Mengapa kunci utama komposit muncul?

Ini kerana medan nama jadual mungkin mempunyai nama pendua, jadi kita perlu menambah medan id untuk memastikan keunikan rekod Dalam pembangunan kita, adalah lebih baik untuk menyimpan satu medan kunci utama Jika kita perlu mencipta dua kunci utama komposit, kita harus semasa membuat jadual Cari medan yang mengenal pasti objek secara unik.

Kemudian soalan itu datang lagi. Bukankah ini bermakna jadual hanya boleh mempunyai satu kunci utama? Kunci utama ialah satu-satunya indeks jadual, jadi mengapa jadual boleh mencipta berbilang kunci utama?

Malah, "kunci utama ialah satu-satunya indeks" agak samar-samar Berikut adalah contoh: Kami biasa mempunyai medan id dalam jadual, yang ditetapkan untuk berkembang secara automatik dan ditetapkan sebagai. kunci utama Pada masa ini "Kunci utama ialah satu-satunya indeks", dan ID berkembang secara automatik untuk memastikan keunikan. Pada masa ini, apabila nama medan varchar(50) dicipta, ia juga ditetapkan sebagai kunci utama Pada masa ini, id dan nama menjadi kunci utama komposit, dan medan nama dalam jadual boleh memasukkan nilai nama yang sama. apabila memasukkan data. Terdapat satu lagi masalah pada masa ini. Bukankah dikatakan bahawa "kunci utama adalah indeks yang unik? Bagaimana mereka boleh mempunyai nilai yang sama?"

Jadi dengan mengatakan "kunci utama adalah. indeks unik" adalah samar-samar; kunci utama ialah indeks unik Premisnya ialah "apabila terdapat hanya satu kunci utama dalam jadual, ia adalah satu-satunya indeks apabila terdapat berbilang kunci utama dalam jadual, ia dipanggil komposit kunci utama. Gabungan kunci utama komposit menjamin indeks unik, yang boleh difahami sebagai gabungan kunci utama komposit Indeks unik (kunci utama) jadual. Mengapakah ID yang meningkat sendiri sudah digunakan sebagai kunci utama untuk pengenalan unik Mengapakah kunci utama komposit masih diperlukan? Kerana tidak semua jadual mesti mempunyai medan ID Contohnya, jika kita membina jadual pelajar dan tiada ID unik yang boleh mengenal pasti pelajar, apakah yang perlu kita lakukan? Nama, umur dan kelas pelajar semuanya boleh diulang dan tidak boleh dikenal pasti secara unik menggunakan satu medan Dalam kes ini, kita boleh menetapkan berbilang medan sebagai kunci utama untuk membentuk kunci utama gabungan ini bersama-sama mengenal pasti keunikan , medan tertentu Tiada masalah dengan nilai medan kunci utama pendua Selagi semua nilai kunci utama dalam berbilang rekod adalah sama, ia tidak dianggap pendua.

Ringkasan: Dalam pembangunan, sebaiknya simpan satu medan kunci utama Jika anda perlu mencipta dua kunci utama komposit, anda harus mencari medan yang boleh mengenal pasti objek secara unik semasa membuat jadual. Pendek kata, gunakan kunci utama yang kurang komposit.

Bagaimana untuk menambah kunci utama komposit?

Anda boleh menambah kunci utama komposit semasa mencipta jadual Pada masa ini, kunci utama terdiri daripada berbilang medan adalah seperti berikut:

PRIMARY KEY [字段1,字段2,…,字段n]
Salin selepas log masuk

Contoh: Cipta jadual data tb_emp, dengan mengandaikan jadual Tiada id kunci utama Untuk mengenal pasti pekerja secara unik, nama dan deptId boleh digabungkan sebagai kunci utama

mysql> CREATE TABLE tb_emp
    -> (
    -> name VARCHAR(25),
    -> deptId INT(11),
    -> salary FLOAT,
    -> PRIMARY KEY(id,deptId)
    -> );
Query OK, 0 rows affected (0.37 sec)
Salin selepas log masuk

Apakah maksud kunci utama komposit mysql?

Kunci primer bersama

Perbezaan antara kunci primer bersama dan kunci primer komposit ialah kunci primer bersama ditunjukkan dalam berbilang jadual, dan kunci primer komposit dicerminkan dalam berbilang medan dalam jadual.

学生表:student
create table student(
id int auto_increment comment '主键id',
name varchar(30) comment '姓名',
age smallint comment '年龄',
primary key(id)
);

课程表:course
create table course(
id int auto_increment comment '主键id',
name varchar(30) comment '课程名称',
primary key(id)
);

学生课程表:stu_course
create table IF NOT EXISTS stu_cour(
id int  auto_increment comment '主键id',
stu_id mediumint comment '学生表id',
cour_id mediumint comment '课程表id',
primary key(id)
);
Salin selepas log masuk

Pada masa ini, id dalam stu_course mewakili kunci utama bersama, dan rekod pelajar serta kursus boleh diperoleh melalui id

Jadi gabungan kunci utama, seperti namanya, ialah gabungan berbilang kunci utama untuk membentuk gabungan kunci utama, yang dicerminkan dalam kesatuan. (Kekunci utama adalah unik pada prinsipnya, jangan risau dengan nilai unik) Indeks boleh meningkatkan kelajuan pertanyaan data dengan banyak, tetapi ia akan memperlahankan kelajuan memasukkan, memadam dan mengemas kini jadual, kerana apabila melaksanakan operasi tulis ini, indeks mesti dikendalikan. Contoh mudah: Kunci primer A dan kunci primer B membentuk kunci primer bersama C. Data kunci primer A dan kunci primer B boleh sama persis B adalah unik.

[Cadangan berkaitan: tutorial video mysql]

Atas ialah kandungan terperinci Apakah maksud kunci utama komposit mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Mysql: Konsep mudah untuk pembelajaran mudah Mysql: Konsep mudah untuk pembelajaran mudah Apr 10, 2025 am 09:29 AM

MySQL adalah sistem pengurusan pangkalan data sumber terbuka. 1) Buat Pangkalan Data dan Jadual: Gunakan perintah Createdatabase dan Createtable. 2) Operasi Asas: Masukkan, Kemas kini, Padam dan Pilih. 3) Operasi lanjutan: Sertai, subquery dan pemprosesan transaksi. 4) Kemahiran Debugging: Semak sintaks, jenis data dan keizinan. 5) Cadangan Pengoptimuman: Gunakan indeks, elakkan pilih* dan gunakan transaksi.

Cara membuka phpmyadmin Cara membuka phpmyadmin Apr 10, 2025 pm 10:51 PM

Anda boleh membuka phpmyadmin melalui langkah -langkah berikut: 1. Log masuk ke panel kawalan laman web; 2. Cari dan klik ikon phpmyadmin; 3. Masukkan kelayakan MySQL; 4. Klik "Login".

Cara Membuat Premium Navicat Cara Membuat Premium Navicat Apr 09, 2025 am 07:09 AM

Buat pangkalan data menggunakan Navicat Premium: Sambungkan ke pelayan pangkalan data dan masukkan parameter sambungan. Klik kanan pada pelayan dan pilih Buat Pangkalan Data. Masukkan nama pangkalan data baru dan set aksara yang ditentukan dan pengumpulan. Sambung ke pangkalan data baru dan buat jadual dalam penyemak imbas objek. Klik kanan di atas meja dan pilih masukkan data untuk memasukkan data.

Cara Membuat Sambungan Baru ke MySQL di Navicat Cara Membuat Sambungan Baru ke MySQL di Navicat Apr 09, 2025 am 07:21 AM

Anda boleh membuat sambungan MySQL baru di Navicat dengan mengikuti langkah -langkah: Buka aplikasi dan pilih Sambungan Baru (Ctrl N). Pilih "MySQL" sebagai jenis sambungan. Masukkan nama host/alamat IP, port, nama pengguna, dan kata laluan. (Pilihan) Konfigurasikan pilihan lanjutan. Simpan sambungan dan masukkan nama sambungan.

MySQL: Pengenalan kepada pangkalan data paling popular di dunia MySQL: Pengenalan kepada pangkalan data paling popular di dunia Apr 12, 2025 am 12:18 AM

MySQL adalah sistem pengurusan pangkalan data relasi sumber terbuka, terutamanya digunakan untuk menyimpan dan mengambil data dengan cepat dan boleh dipercayai. Prinsip kerjanya termasuk permintaan pelanggan, resolusi pertanyaan, pelaksanaan pertanyaan dan hasil pulangan. Contoh penggunaan termasuk membuat jadual, memasukkan dan menanyakan data, dan ciri -ciri canggih seperti Operasi Join. Kesalahan umum melibatkan sintaks SQL, jenis data, dan keizinan, dan cadangan pengoptimuman termasuk penggunaan indeks, pertanyaan yang dioptimumkan, dan pembahagian jadual.

MySQL dan SQL: Kemahiran Penting untuk Pemaju MySQL dan SQL: Kemahiran Penting untuk Pemaju Apr 10, 2025 am 09:30 AM

MySQL dan SQL adalah kemahiran penting untuk pemaju. 1.MYSQL adalah sistem pengurusan pangkalan data sumber terbuka, dan SQL adalah bahasa standard yang digunakan untuk mengurus dan mengendalikan pangkalan data. 2.MYSQL menyokong pelbagai enjin penyimpanan melalui penyimpanan data yang cekap dan fungsi pengambilan semula, dan SQL melengkapkan operasi data yang kompleks melalui pernyataan mudah. 3. Contoh penggunaan termasuk pertanyaan asas dan pertanyaan lanjutan, seperti penapisan dan penyortiran mengikut keadaan. 4. Kesilapan umum termasuk kesilapan sintaks dan isu -isu prestasi, yang boleh dioptimumkan dengan memeriksa penyataan SQL dan menggunakan perintah menjelaskan. 5. Teknik pengoptimuman prestasi termasuk menggunakan indeks, mengelakkan pengimbasan jadual penuh, mengoptimumkan operasi menyertai dan meningkatkan kebolehbacaan kod.

Cara menggunakan redis berulir tunggal Cara menggunakan redis berulir tunggal Apr 10, 2025 pm 07:12 PM

Redis menggunakan satu seni bina berulir untuk memberikan prestasi tinggi, kesederhanaan, dan konsistensi. Ia menggunakan I/O multiplexing, gelung acara, I/O yang tidak menyekat, dan memori bersama untuk meningkatkan keserasian, tetapi dengan batasan batasan konkurensi, satu titik kegagalan, dan tidak sesuai untuk beban kerja yang berintensifkan.

Cara Memulihkan Data Selepas SQL Memadam Barisan Cara Memulihkan Data Selepas SQL Memadam Barisan Apr 09, 2025 pm 12:21 PM

Memulihkan baris yang dipadam secara langsung dari pangkalan data biasanya mustahil melainkan ada mekanisme sandaran atau transaksi. Titik Utama: Rollback Transaksi: Jalankan balik balik sebelum urus niaga komited untuk memulihkan data. Sandaran: Sandaran biasa pangkalan data boleh digunakan untuk memulihkan data dengan cepat. Snapshot Pangkalan Data: Anda boleh membuat salinan bacaan pangkalan data dan memulihkan data selepas data dipadam secara tidak sengaja. Gunakan Pernyataan Padam dengan berhati -hati: Periksa syarat -syarat dengan teliti untuk mengelakkan data yang tidak sengaja memadamkan. Gunakan klausa WHERE: Secara jelas menentukan data yang akan dipadam. Gunakan Persekitaran Ujian: Ujian Sebelum Melaksanakan Operasi Padam.

See all articles