私はこの設計上の問題に直面し続けており、これまでの解決策には満足していません。問題はこれです:
People や Dogs などの 2 つ以上のエンティティがあり、それらは両方とも、メッセージ フィールドと作成者などのメッセージに関するメタ データを格納する Notes テーブルと関係があります。
1) 最初のオプションは、外部キーを強制しないことです。そうすれば、fkId などの同じ汎用 FK フィールドに peopleId や dogId などの FK を (それが何であれ) 格納できます。次に、tableId を別の列に保存します。RDMS メタデータからテーブル ID を取得することを期待できますが、手動で更新する必要があるテーブルでいっぱいのテーブルを明示的に作成することもできます。 . これは本当にずさんで、完全を期すために言及しています。
2) PeopleNotes、DogNotes、CatNotes など、必要な各テーブルの Notes テーブルを複製します。これにより、正規化に関する非常に大きな問題が発生します。
このような状況で他の人々は何をしましたか?