たとえば、3つの異なるタイプのテーブル(ObjectTypes)にタグを結合するタグルックアップテーブルがあります。それぞれにはタグがありますが、それらは共有されていません。私はいつも外来キーの周りに設計すべきですか?
だから私はこの
TAGIDを行うことができます| ObjectType | ObjectId |
私がテーブルに一緒に参加するとき、私は参加する前にオブジェクトの種類でフィルターをかけます。
これは、ObjectId列で外部キーを実行する機能が無効になることを知っています.3つの表のいずれかになります。
質問です。これは恐ろしいことですか?もしそうなら、なぜですか?
もっと良い方法がない限り、オブジェクトごとにルックアップテーブルを作成することもできます。
これは私がしてはいけない将来のための設計のケースかもしれません。他のオブジェクト表を追加する設計作業が少なくなりますが、長期的には状況が悪化する可能性があります。 – efbenson