Persatuan polimorfik—di mana satu kunci asing boleh menghala ke berbilang jadual—menunjukkan cabaran dalam MySQL kerana sifat kekangan kunci asingnya yang tegar. Kunci asing standard memerlukan jadual sasaran tetap, menjadikan rujukan bersyarat mustahil.
Penyelesaian terletak pada strategi "supertable". Meja tengah, mari kita panggil Commentable
, berfungsi sebagai perantara. Jadual ini mengandungi pengecam unik (pseudokey) dan bertindak sebagai titik rujukan biasa untuk semua jadual lain yang memerlukan perkaitan polimorfik.
Pendekatan ini mencerminkan prinsip reka bentuk berorientasikan objek. Jadual seperti BlogPosts
dan UserPictures
mewarisi, sebenarnya, daripada supertable Commentable
melalui pengecam kongsi ini. id
kongsi ini mengekalkan integriti data merentas jenis kandungan yang berbeza.
Yang penting, sebelum menambah rekod pada jadual subjenis (cth., BlogPosts
), entri yang sepadan mesti dibuat dahulu dalam jadual Commentable
untuk menjana pseudokey. Ini memastikan perhubungan diurus dengan betul, meniru gelagat sistem kunci asing tradisional sambil menampung kerumitan persatuan polimorfik.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Persatuan Polimorfik dalam MySQL Tanpa Kekangan Utama Asing Bersyarat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!