Memahami Asas Kekunci Asing MySQL
Kunci asing dalam MySQL memainkan peranan penting dalam mengekalkan integriti data dengan menguatkuasakan perhubungan antara jadual. Walaupun gabungan dan kod pengaturcaraan boleh menyediakan penyelesaian, menggunakan kunci asing terbina dalam MySQL menawarkan beberapa kelebihan.
Tujuan Kunci Asing
Kunci asing memastikan data berkaitan kekal konsisten merentas jadual. Apabila kunci asing ditakrifkan dalam jadual rujukan, ia mewujudkan pautan ke kunci utama jadual lain (jadual rujukan). Hubungan ini menghalang pemasukan data tidak sah ke dalam jadual rujukan dan melindungi daripada rasuah data.
Peningkatan dengan Kunci Asing MySQL
Ketekalan Data: Kunci asing secara automatik mengesahkan integriti data dengan memastikan setiap nilai dalam jadual rujukan sepadan dengan nilai sedia ada dalam jadual yang dirujuk. Ini menghalang data daripada ditambah atau diubah suai secara tersilap.
Integriti Rujukan: Kunci asing MySQL menguatkuasakan integriti rujukan dengan melarang pemadaman baris dalam jadual yang dirujuk jika ia masih dirujuk oleh baris lain dalam jadual rujukan. Ini membantu mengekalkan integriti kedua-dua jadual.
Kekangan Integriti Data: Kunci asing bertindak sebagai kekangan integriti data, membolehkan anda menentukan tindakan yang perlu berlaku apabila data dalam jadual yang dirujuk diubah suai atau dipadamkan. Sebagai contoh, anda boleh menentukan bahawa baris rujukan harus dipadamkan apabila baris yang dirujuk dipadamkan, mengekalkan konsistensi walaupun sekiranya berlaku kehilangan data.
Pertimbangan Prestasi: Walaupun kunci asing memberikan beberapa faedah , ia boleh memberi kesan sedikit kepada prestasi pertanyaan disebabkan oleh semakan tambahan yang diperlukan semasa operasi memasukkan, memadam dan mengemas kini. Overhed prestasi biasanya minimum, tetapi ia harus dipertimbangkan apabila mengoptimumkan pangkalan data yang besar.
Contoh:
Pertimbangkan jadual berikut:
CREATE TABLE department (id INT NOT NULL); CREATE TABLE employee (id INT NOT NULL, dept_id INT NOT NULL, FOREIGN KEY (dept_id) REFERENCES department(id));
Dalam contoh ini, jadual pekerja mempunyai dept_id lajur kunci asing yang merujuk lajur id dalam jadual jabatan. Hubungan ini memastikan setiap rekod pekerja dalam jadual pekerja mempunyai rekod jabatan yang sepadan dalam jadual jabatan, mengekalkan ketekalan data.
Atas ialah kandungan terperinci Bagaimanakah Kunci Asing MySQL Meningkatkan Integriti Data dan Apakah Implikasi Prestasinya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!