Merancang sistem pangkalan data yang mengurus ulasan, suka dan teg dengan cekap untuk entiti pelbagai jenis menimbulkan cabaran. Artikel ini membentangkan penyelesaian komprehensif yang memastikan keanjalan dan kecekapan sambil menampung pengembangan masa hadapan.
Penyelesaian yang dicadangkan berkisar pada konsep "kategori" dalam hubungan entiti (ER) pemodelan. Kategori mewakili jenis asas yang diwarisi oleh semua jenis lain (entiti tertentu). Pendekatan ini memberikan kebolehlanjutan yang ketara, membolehkan sistem menggabungkan jenis entiti baharu dengan lancar.
Model berasaskan kategori melibatkan penciptaan jadual asas, "Entiti," yang berfungsi sebagai asas untuk semua jenis entiti. Setiap jenis entiti, seperti "Foto," "Artikel" dan "Tempat", ditakrifkan sebagai jadual berasingan yang mewarisi daripada jadual "Entiti".
Selain itu, tiga jadual lain diperlukan:
Pertanyaan untuk mengambil entiti yang disukai boleh dilaksanakan dengan cekap menggunakan cantuman antara jadual "Entiti" dan "Suka". Begitu juga, ulasan dan teg boleh diambil menggunakan cantuman pada jadual masing-masing.
Mengira bilangan suka atau penggunaan tag melibatkan fungsi pengagregatan mudah. Sebagai contoh, untuk mengira suka untuk foto, kita boleh menggunakan:
SELECT COUNT(*) FROM Like WHERE entityId = <photoId> AND entityType = 'Photo';
Model berasaskan kategori menawarkan beberapa kelebihan:
Atas ialah kandungan terperinci Bagaimanakah Model Pangkalan Data Berasaskan Kategori Boleh Mengurus Komen, Suka dan Teg dengan Cekap untuk Pelbagai Jenis Entiti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!