Rumah > pangkalan data > tutorial mysql > Bolehkah Kekangan Utama Asing Merujuk Berbilang Jadual?

Bolehkah Kekangan Utama Asing Merujuk Berbilang Jadual?

Mary-Kate Olsen
Lepaskan: 2024-10-24 05:42:02
asal
722 orang telah melayarinya

Can Foreign Key Constraints Reference Multiple Tables?

Kekangan Utama Asing Polimorfik: Merujuk Berbilang Jadual

Dalam bidang reka bentuk pangkalan data, kekangan kunci asing mewujudkan hubungan antara jadual, memastikan integriti data dengan menyambungkan rekod merentas jadual. Secara tradisinya, kunci asing menghala ke satu jadual tertentu. Walau bagaimanapun, persoalan timbul: adakah mungkin untuk mencipta kunci asing yang merujuk salah satu daripada berbilang jadual?

Untuk memahami konsep ini, pertimbangkan hubungan polimorfik antara jadual dan set jadual. Dalam senario sedemikian, jadual boleh dikaitkan dengan mana-mana satu kumpulan jadual. Sebagai contoh, pertimbangkan tiga jadual:

  • imej: person_id, person_type
  • orang bawahan: id, col1, col2...col9
  • produk: id, colA, colB...colZ

Dalam contoh ini, jika lajur person_type dalam jadual imej mengandungi "orang bawahan", maka person_id harus menjadi kunci asing yang merujuk subordinat.id. Begitu juga, jika person_type ialah "produk", maka person_id harus merujuk kepada products.id.

Jawapan: Tidak Mungkin untuk Kunci Asing Tunggal

Selepas pemeriksaan teliti, ia menjadi jelas bahawa tidak mungkin untuk mempunyai kekangan kunci asing tunggal yang merujuk berbilang jadual. Kekangan kunci asing sentiasa menyasarkan satu jadual induk dengan tepat. Oleh itu, jika medan memerlukan rujukan berbilang jadual berdasarkan beberapa syarat, penyelesaian alternatif mesti diterokai.

Sumber Tambahan untuk Polimorfisme

Untuk pemahaman yang lebih mendalam tentang persatuan polimorfik, pertimbangkan untuk meneroka sumber berikut:

  • Pembentangan: Model Berorientasikan Objek Praktikal dalam SQL
  • Buku: Antipatterns SQL, Jilid 1: Mengelakkan Perangkap Pengaturcaraan Pangkalan Data

Atas ialah kandungan terperinci Bolehkah Kekangan Utama Asing Merujuk Berbilang Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan