Rumah >pangkalan data >tutorial mysql >Bolehkah Kunci Utama Asing Rujukan dari Dua Jadual Berasingan Serentak?

Bolehkah Kunci Utama Asing Rujukan dari Dua Jadual Berasingan Serentak?

Linda Hamilton
Linda Hamiltonasal
2025-01-11 08:03:451019semak imbas

Can a Foreign Key Reference Primary Keys from Two Separate Tables Simultaneously?

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:

  1. Hierarki Pekerja: Lihat pekerja sebagai kelas induk dengan employees_ce dan employees_sn sebagai subkelas.

  2. Reka Bentuk Jadual Pangkalan Data: Buat struktur tiga jadual:

    • pekerja (id, nama, ...): Meja pusat yang memegang atribut pekerja biasa. id ialah kunci utama.
    • employees_ce (id, ce_specific_data, ...): Menyimpan data khusus untuk employees_ce. id ialah rujukan kunci asing employees.id.
    • employees_sn (id, sn_specific_data, ...): Menyimpan data khusus untuk employees_sn. id ialah rujukan kunci asing employees.id.
  3. Hubungan Utama Asing: Wujudkan kekangan kunci asing:

    • employees_ce.id rujukan employees.id
    • employees_sn.id rujukan employees.id
  4. 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!

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