Sepertinya Anda ingin membedakan kategori dan topik dalam dua tabel terpisah, tetapi id keduanya dirujuk di tabel lain likes
untuk memfasilitasi pengguna menyukai kategori atau topik.
Yang dapat Anda lakukan adalah membuat tabel entitas super dengan subtipe categories
dan topics
. Kunci yang bertambah secara otomatis akan dibuat di tabel entitas super dan dimasukkan hanya ke salah satu dari dua tabel subtipe (berdasarkan apakah itu kategori atau topik).
Tabel subtipe merujuk entitas super ini melalui bidang yang bertambah secara otomatis dalam hubungan 1:1.
Dengan cara ini, Anda cukup menautkan tabel entitas super ke likes
tabel hanya berdasarkan satu kolom (yang dapat mewakili kategori atau topik), dan tanpa id
di tabel subtipe akan ada di keduanya.
Berikut adalah contoh sederhana tentang bagaimana Anda dapat membuat model ini:
Model ini akan memungkinkan Anda untuk mempertahankan hubungan antara kategori dan topik, tetapi membuat kedua entitas digeneralisasikan dalam superentity
tabel.
Keuntungan lain dari model ini adalah Anda dapat mengabstraksi bidang umum dalam tabel subtipe ke dalam tabel superentitas. Katakan misalnya bahwa categories
dan topics
keduanya berisi bidang title
dan url
:Anda dapat meletakkan bidang ini di superentity
tabel karena mereka adalah atribut umum dari subtipenya. Hanya letakkan bidang yang khusus untuk tabel subtipe DI tabel subtipe.