クラステーブル継承の使用に傾倒して、特殊化/一般化をモデル化しようとしています(この回答を参照)。
ただし、同じテーブルに重複するスペシャライゼーションが多数(50以上)あるため、私の同僚にはメンテナンスとパフォーマンスの問題があります。彼の提案は、次の列を持つテーブルを作成することです。
- 一般的な表への参照
- 専門分野のタイプを維持するテーブルへの参照
- 属性値を維持するテーブルへの参照
これにより、すべての属性が1つのテーブルに保持され、特殊化列でフィルタリングできます。このデザインが何と呼ばれているのかわかりませんが、どういうわけかEAVに関係しているのではないかと心配しています...
私の主な関心事は変更の異常ですが、それ以外にそれが悪い考えである理由はわかりません。1つのソリューションが他のソリューションよりも明らかに優れているのでしょうか、それとも1つを選んで先に進むべきでしょうか?