Kekangan Pangkalan Data untuk Hubungan Kunci Asing Kompleks
Dalam reka bentuk pangkalan data, adalah perkara biasa untuk menemui jadual dengan hubungan kunci asing yang kompleks, di mana orang asing kunci dalam satu jadual merujuk baris dalam jadual lain yang juga mengandungi kunci asing yang menunjuk kembali ke jadual pertama. Keadaan ini boleh mewujudkan pergantungan bulat, menjadikannya mencabar untuk menguatkuasakan kekangan pangkalan data.
Masalahnya: Mengesahkan Perhubungan Utama Asing
Satu isu khusus yang timbul dengan kunci asing yang kompleks perhubungan adalah keperluan untuk memastikan bahawa baris yang dirujuk dalam jadual kedua adalah sah. Dalam erti kata lain, adalah penting untuk menjamin bahawa nilai kunci asing dalam jadual pertama sepadan dengan baris sedia ada dalam jadual kedua dan kunci asing dalam jadual kedua merujuk baris yang betul dalam jadual pertama.
Penyelesaian: Memperluaskan Kekangan Kunci Asing
Kaedah tradisional untuk menentukan kekangan kunci asing, seperti FOREIGN KEY (column_name) RUJUKAN table_name (column_name), tidak mencukupi untuk mengendalikan keperluan pengesahan ini. Walau bagaimanapun, adalah mungkin untuk melanjutkan kekangan kunci asing untuk memasukkan syarat tambahan, membolehkan kami menentukan peraturan pengesahan yang lebih kompleks.
Berikut ialah contoh cara melaksanakan pendekatan ini menggunakan SQL:
ALTER TABLE first_table ADD CONSTRAINT foreign_key_constraint FOREIGN KEY (foreign_key_column_1, foreign_key_column_2) REFERENCES second_table (column_1, column_2) CHECK (condition);
Dalam contoh ini, klausa CHECK menentukan syarat tambahan yang mesti dipenuhi untuk kekangan kunci asing untuk dipertimbangkan sah.
Pertimbangan Tambahan
Atas ialah kandungan terperinci Bagaimanakah Kekangan Pangkalan Data Boleh Mengendalikan Hubungan Utama Asing Kompleks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!