Reka Bentuk Subjenis untuk Perhubungan Jadual Pangkalan Data
Apabila mereka bentuk skema pangkalan data, satu pertimbangan utama ialah menentukan sama ada hendak menggunakan subjenis atau tidak. Dalam konteks pengaturcaraan berorientasikan objek, subjenis ialah kelas terbitan yang mewarisi sifat dan kaedah daripada kelas superjenis atau induk. Dalam pangkalan data, konsep ini boleh digunakan pada perhubungan jadual.
Dalam senario yang diberikan, pangkalan data mempunyai tiga jadual utama: BUKU, ARTIKEL dan NOTA. Setiap buku atau artikel boleh mempunyai berbilang nota, dan reka bentuk asal mencadangkan satu jadual NOTA dengan lajur diskriminator yang dipanggil nota_jenis untuk membezakan antara nota buku dan nota artikel. Walau bagaimanapun, pendekatan ini boleh membawa kepada cabaran integriti data dan redundansi.
Pendekatan alternatif yang dicadangkan dalam soalan ialah menggunakan lima jadual:
Ini reka bentuk memisahkan nota buku dan artikel ke dalam jadual yang berbeza, menghapuskan keperluan untuk lajur diskriminator. Walaupun pendekatan ini memastikan integriti data, ia juga memperkenalkan pendua kerana jadual NOTA direplikasi untuk kedua-dua buku dan artikel.
Pertimbangkan pendekatan alternatif: menggunakan reka bentuk superjenis/subjenis dengan jadual superjenis dipanggil PENERBITAN dan jadual subjenis untuk BUKU dan ARTIKEL. Dalam senario ini, jadual PENERBITAN akan mengandungi lajur biasa untuk kedua-dua buku dan artikel, manakala jadual subjenis akan mengandungi lajur khusus untuk setiap jenis.
PENERBITAN {
Atas ialah kandungan terperinci Patutkah Saya Menggunakan Subjenis atau Jadual Tunggal dengan Lajur Diskriminator untuk Hubungan Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!