Konsep dan aplikasi praktikal kunci asing dalam MySQL
1. Konsep kunci asing
Dalam reka bentuk pangkalan data, kunci asing adalah kekangan penting yang digunakan untuk menggambarkan hubungan antara jadual. Kekunci asing digunakan untuk memastikan bahawa nilai dalam lajur tertentu dalam satu jadual mesti mempunyai nilai yang sepadan dalam lajur yang sepadan dalam jadual lain. Kewujudan kunci asing boleh memastikan ketekalan dan integriti data dan mengelakkan sisipan data atau kemas kini yang tidak mematuhi hubungan logik.
2. Aplikasi praktikal kunci asing
Dalam reka bentuk pangkalan data sebenar, kunci asing digunakan secara meluas. Berikut menggunakan contoh kod khusus untuk menggambarkan penggunaan kunci asing dalam MySQL.
1. Buat dua jadual berkaitan
Pertama, kami buat dua jadual berkaitan, satu jadual pesanan (pesanan) dan satu lagi jadual pelanggan (pelanggan). Jadual pesanan akan mengandungi kunci asing kepada jadual pelanggan untuk mewujudkan hubungan antara pesanan dan pelanggan.
CREATE TABLE customers ( customer_id INT PRIMARY KEY, customer_name VARCHAR(50) ); CREATE TABLE orders ( order_id INT PRIMARY KEY, order_date DATE, customer_id INT, FOREIGN KEY (customer_id) REFERENCES customers(customer_id) );
Dalam kod di atas, kami mencipta dua jadual, jadual pelanggan dan jadual pesanan. Lajur customer_id dalam jadual pesanan mentakrifkan kunci asing yang menunjuk ke lajur customer_id dalam jadual pelanggan.
2. Masukkan data
Seterusnya, kami masukkan beberapa data ke dalam jadual pelanggan dan jadual pesanan. Mula-mula masukkan data jadual pelanggan:
INSERT INTO customers (customer_id, customer_name) VALUES (1, 'Alice'); INSERT INTO customers (customer_id, customer_name) VALUES (2, 'Bob');
Kemudian masukkan data jadual pesanan Pastikan pelanggan_id yang dimasukkan wujud dalam jadual pelanggan:
INSERT INTO orders (order_id, order_date, customer_id) VALUES (1, '2022-01-01', 1); INSERT INTO orders (order_id, order_date, customer_id) VALUES (2, '2022-01-02', 2);
3. Uji kekangan kunci asing
Seterusnya kami menunjukkan kesan Kekangan kunci asing, apabila cuba memasukkan customer_id yang tidak sah, ia akan dihadkan oleh kekangan kunci asing:
INSERT INTO orders (order_id, order_date, customer_id) VALUES (3, '2022-01-05', 3);
Ralat akan digesa pada masa ini, kerana tiada rekod dengan customer_id 3 dalam jadual pelanggan, dengan itu mengelakkan pemasukan data Pesanan yang tidak sesuai.
4 Peraturan operasi kunci asing
Dalam MySQL, terdapat beberapa peraturan operasi untuk kekangan kunci asing, secara amnya termasuk CASCADE, SET NULL, RESTRICT, dll. Mengambil CASCADE sebagai contoh, apabila pelanggan dipadamkan daripada jadual pelanggan, data pesanan yang sepadan akan dipadamkan secara automatik, mengelakkan pengasingan data.
CREATE TABLE orders ( order_id INT PRIMARY KEY, order_date DATE, customer_id INT, FOREIGN KEY (customer_id) REFERENCES customers(customer_id) ON DELETE CASCADE );
Melalui contoh di atas, kita dapat melihat kepentingan dan aplikasi praktikal kunci asing. Penggunaan munasabah kekangan kunci asing dalam reka bentuk pangkalan data boleh memastikan ketekalan dan integriti data dan mengelakkan ralat semasa memasukkan dan mengemas kini data. Konsep kunci asing dalam MySQL tidak terhad kepada contoh di atas Terdapat senario yang lebih kompleks dalam aplikasi sebenar, yang perlu digunakan secara fleksibel mengikut keadaan tertentu.
Atas ialah kandungan terperinci Konsep dan aplikasi praktikal kunci asing dalam MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!