Melaksanakan Integriti Rujukan dalam Subjenis
Masalah
Penyelesaian yang dicadangkan untuk melaksanakan integriti rujukan dalam struktur subjenis melibatkan penciptaan jadual pendua dan kekangan tambahan. Pendekatan ini nampaknya tidak perlu rumit dan tidak cekap.
Pengenalan
Melaksanakan integriti rujukan dalam pangkalan data hubungan memerlukan pemahaman yang betul tentang Model Perhubungan dan piawaian yang berkaitan dengannya. Notasi IDEF1X menyediakan rangka kerja komprehensif untuk memodelkan subjenis dan hubungannya.
Melaksanakan Integriti Rujukan untuk Subjenis
Terdapat dua jenis struktur subjenis:
Subjenis Eksklusif : Dalam kes ini, setiap baris jenis asas mesti mempunyai tepat satu baris subjenis. Jenis asas biasanya mempunyai lajur diskriminator yang mengenal pasti subjenis sedia ada.
Subjenis Bukan Eksklusif: Dalam kes ini, baris jenis asas boleh mempunyai sifar atau lebih baris subjenis. Kewujudan subjenis disahkan melalui semakan kewujudan pada jadual subjenis.
Subjenis Eksklusif dengan Diskriminator
Lajur Diskriminator
- A KEKANGAN SEMAK memastikan bahawa nilai lajur diskriminator berada dalam lingkungan yang dibenarkan julat.
- PK unik jenis asas memastikan bahawa hanya satu baris jenis asas akan wujud.
Integriti Rujukan Subjenis
- A FK kekangan dalam subjenis merujuk PK jenis asas.
- A UDF digunakan untuk menanyakan jenis asas untuk kewujudan PK dan nilai diskriminator yang betul.
- KEKANGAN SEMAK dalam subjenis memanggil UDF untuk memastikan subjenis yang betul wujud untuk jenis asas.
Subjenis bukan eksklusif
- Tiada lajur diskriminasi diperlukan.
- Kewujudan subjenis ditentukan dengan menyemak jadual subjenis menggunakan PK jenis asas.
- KEKANGAN SEMAK PK, FK dan julat dalam subjenis adalah mencukupi untuk integriti rujukan.
Kritikan Terhadap Cadangan Penyelesaian
- Penduaan jadual dan mencipta kekangan tambahan mengakibatkan penyimpangan data yang tidak diperlukan dan kerumitan tambahan.
- Penyelesaian yang dicadangkan tidak berkesan menguatkuasakan integriti rujukan antara jenis asas dan subjenis.
Syor
- Gunakan pendekatan IDEF1X standard yang digariskan di atas untuk melaksanakan integriti rujukan dalam subjenis.
- Pertimbangkan untuk menggunakan prosedur tersimpan atau transaksi untuk mengurus sisipan dan kemas kini dalam jadual jenis asas dan subjenis untuk mengekalkan rujukan integriti.
- Kuatkuasakan peraturan kebenaran dan gunakan titik akhir API yang selamat untuk menghalang pengubahsuaian pangkalan data yang tidak dibenarkan.
Atas ialah kandungan terperinci Bagaimanakah Integriti Rujukan Boleh Dilaksanakan dengan Cekap dalam Subjenis Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!