Integriti Rujukan dalam Pelaksanaan Subjenis
Pengenalan
Integriti rujukan dalam struktur subjenis memastikan bahawa terdapat ialah hubungan yang sah antara jadual ibu bapa dan anak. Subjenis eksklusif membenarkan hanya satu subjenis untuk induk tertentu, manakala subjenis bukan eksklusif membenarkan berbilang subjenis.
Subjenis Eksklusif
Untuk melaksanakan integriti rujukan bagi subjenis eksklusif:
-
Pendiskriminasi Lajur: Tambahkan lajur diskriminator pada jadual induk untuk menunjukkan subjenis.
- Laksanakan KEKANGAN SEMAK untuk memastikan nilai diskriminator berada dalam julat yang dibenarkan.
-
Kunci Utama kepada Hubungan Utama Asing: Kunci utama ibu bapa jadual menjadi kunci asing dalam jadual subjenis, memastikan subjenis tunggal bagi setiap baris induk.
-
Fungsi Ditentukan Pengguna (UDF): Buat UDF yang menyemak sama ada kunci utama dan diskriminator wujud dalam jadual induk.
-
SEMAK KEKANGAN dalam Jadual Subjenis: Laksanakan SEMAK KEKANGAN dalam jadual subjenis untuk memanggil UDF dan mengesahkan kewujudan induk.
-
Semakan Transaksi: Gunakan logik transaksi untuk mengesahkan bahawa sekurang-kurangnya satu subjenis wujud untuk setiap induk.
Bukan Eksklusif Subjenis
Untuk subjenis bukan eksklusif:
-
Kunci Utama kepada Hubungan Kunci Asing: Wujudkan kunci utama kepada hubungan kunci asing seperti dalam subjenis eksklusif .
-
Semakan Kewujudan: Lakukan pemeriksaan kewujudan pada jadual subjenis menggunakan kunci utama induk untuk menentukan sama ada subjenis wujud atau tidak.
Kelebihan Pendekatan Berasaskan UDF
- Mengelakkan pertindihan data dan indeks berlebihan.
- Mengendalikan senario di mana subjenis tidak hadir pada masa sisipan induk.
Respons kepada Komen
-
Kemas kini Perlindungan untuk Diskriminator: Piawaian Seni Bina Terbuka (Transaksi ACID) menghalang tanpa kebenaran kemas kini. Selain itu, akses terkawal kepada pangkalan data dan penggunaan Transaksi memastikan kemas kini mengekalkan integriti data.
-
UDF lwn. Pendiskriminasi Pendua FK: UDF menyediakan penyelesaian yang lebih cekap dan fleksibel tanpa memerlukan tambahan jadual dan indeks.
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Integriti Rujukan dalam Pelaksanaan Pangkalan Data Subjenis Eksklusif dan Bukan Eksklusif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!