Rumah >pangkalan data >tutorial mysql >Bolehkah Kunci Utama Asing Rujukan dari Dua Jadual Berasingan Serentak?
Rujukan Utama Asing Merentasi Pelbagai Jadual: Pendekatan Berstruktur
Artikel ini menangani cabaran mencipta kunci asing dalam jadual potongan yang merujuk kunci utama daripada kedua-dua jadual employees_ce dan employees_sn dalam pangkalan data "pekerja". Kedua-dua employees_ce dan employees_sn mempunyai kunci utama yang unik. Adakah rujukan dua kunci asing langsung boleh dilakukan?
Penyelesaian Cekap: Reka Bentuk Hierarki
Penyelesaian optimum melibatkan penstrukturan semula pangkalan data untuk mencerminkan struktur pekerja berhierarki:
Hierarki Pekerja: Lihat pekerja sebagai kelas induk dengan employees_ce dan employees_sn sebagai subkelas.
Reka Bentuk Jadual Pangkalan Data: Buat struktur tiga jadual:
id
ialah kunci utama.id
ialah rujukan kunci asing employees.id
.id
ialah rujukan kunci asing employees.id
.Hubungan Utama Asing: Wujudkan kekangan kunci asing:
employees_ce.id
rujukan employees.id
employees_sn.id
rujukan employees.id
Jadual Potongan: Jadual deductions
kini akan mempunyai kunci asing tunggal, employee_id
, merujuk kepada lajur employees.id
.
Model hierarki ini memastikan integriti rujukan dan mengurus data dengan cekap untuk jenis pekerja yang berbeza. Ia mengelakkan kerumitan dan potensi ketidakkonsistenan untuk mencuba rujukan dua kunci asing langsung. Kunci asing tunggal dalam jadual deductions
menyediakan pautan yang jelas dan jelas kepada rekod pekerja yang berkaitan.
Atas ialah kandungan terperinci Bolehkah Kunci Utama Asing Rujukan dari Dua Jadual Berasingan Serentak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!