Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Melaksanakan Persatuan Polimorfik dalam MySQL Tanpa Kekangan Utama Asing Bersyarat?

Bagaimanakah Saya Boleh Melaksanakan Persatuan Polimorfik dalam MySQL Tanpa Kekangan Utama Asing Bersyarat?

Barbara Streisand
Lepaskan: 2025-01-16 11:50:58
asal
821 orang telah melayarinya

How Can I Implement Polymorphic Associations in MySQL Without Conditional Foreign Key Constraints?

Persatuan Polimorfik MySQL: Mengatasi Had Utama Asing

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!

sumber:php.cn
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