私の同僚の 1 人がテーブル スキーマを設計しました。テーブルの 1 つで、列は別の列の値に応じて異なるテーブルの主キーを参照できます。私はそれが別様に間違っていることを知っていますが、私をサポートする理論を見つけることができません. 彼のスキーマは次のようになります。
table video: (id, name, ...)
table audio:(id, name, ...)
table review_item( item_type, item_id, reason, ...)
の場合item_type='V'
、item_id はテーブル ビデオの ID であり、item_type='A'
item_id はテーブル ビデオの ID です。
item_type
( 、 )の組み合わせitem_id
はユニークですが、実際にはまったく外部キーではありません。単一のテーブルを指していないため、外部キーとして定義することはできません。DDL 構文では許可されていません。
誰かがここで違反している原則または規則を見つけることができますか?