Rumah  >  Artikel  >  pangkalan data  >  Peranan kunci asing dalam mysql

Peranan kunci asing dalam mysql

下次还敢
下次还敢asal
2024-05-01 20:30:27583semak imbas

Kunci asing dalam MySQL memainkan peranan perhubungan kekangan dan penyelenggara data, dan mempunyai tiga fungsi utama: memastikan integriti rujukan antara jadual dan mencegah ketidakkonsistenan data yang disebabkan oleh pemadaman atau pengemaskinian rekod jadual; integriti dan menghalang rekod anak yatim; gunakan indeks untuk mengoptimumkan prestasi pertanyaan dan menggunakan kunci asing untuk mencari rekod dalam subjadual dengan cepat yang merujuk kepada kunci utama tertentu.

Peranan kunci asing dalam mysql

Peranan kunci asing dalam MySQL

Kunci asing memainkan peranan penting dalam pangkalan data MySQL, bertindak sebagai kekangan dan penyelenggara perhubungan antara jadual.

Peranan 1: Memastikan integriti data

Peranan kunci asing adalah untuk memastikan hubungan rujukan antara jadual sentiasa konsisten. Contohnya, dalam jadual Pesanan dan jadual Produk, kunci asing ID Produk dalam jadual Pesanan merujuk kunci utama ID Produk dalam jadual Produk. Apabila rekod dipadamkan dalam jadual Produk, kekangan kunci asing menghalang operasi daripada berlaku sehingga semua rekod jadual Pesanan yang merujuk rekod itu dipadamkan, sekali gus menghalang ketidakkonsistenan data.

Fungsi 2: Melantun data paksa

Kunci asing boleh memaksa operasi melata antara jadual. Apabila anda memadam atau mengemas kini rekod kunci utama jadual, anda boleh menyediakan peraturan kunci asing supaya tindakan itu secara automatik (mengemas kini atau memadamkan rekod subtable yang merujuk rekod itu). Ini memastikan integriti rujukan dan menghalang rekod anak yatim yang disebabkan oleh pemadaman atau kemas kini secara berperingkat.

Fungsi 3: Optimumkan prestasi pertanyaan

Dengan menggunakan indeks kunci asing, MySQL boleh mengoptimumkan prestasi pertanyaan antara jadual. Indeks boleh mencari rekod dengan cepat dalam jadual kanak-kanak yang merujuk rekod kunci utama tertentu, mengurangkan keperluan untuk mengimbas sejumlah besar data. Ini amat penting untuk pertanyaan besar yang melibatkan berbilang jadual.

Contoh

Contoh berikut menunjukkan hubungan kunci asing antara jadual pesanan dan jadual produk:

<code>CREATE TABLE orders (
  order_id INT NOT NULL AUTO_INCREMENT,
  product_id INT NOT NULL,
  quantity INT NOT NULL,
  PRIMARY KEY (order_id),
  FOREIGN KEY (product_id) REFERENCES products(product_id)
);

CREATE TABLE products (
  product_id INT NOT NULL AUTO_INCREMENT,
  product_name VARCHAR(255) NOT NULL,
  PRIMARY KEY (product_id)
);</code>

Dalam contoh ini, kunci asing pada lajur orders 表中的 product_id 列是 productsproduct_id. Hubungan kunci asing ini memastikan bahawa setiap pesanan merujuk kepada produk yang sah.

Atas ialah kandungan terperinci Peranan kunci asing dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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