そのようなことを実現できますか?たとえば、他のフィールド値が「a」の場合、外部キーはテーブルaに対するものである必要があり、値が「b」の場合、それはテーブルbに対するキーである必要がありますか?これは正常ではなく、外部キーの考え方と一致しないことは理解していますが、実際にこのスキームを実現するために何かを行うことは可能ですか?
アップデート :
私はこのようなスキーマを持っています:
商品があります。さまざまな追加フィールドを含めることができます。たとえば、標準製品には追加フィールドを含めることはできませんが、「画像」には「作成者」などのフィールドを含めることができます。本当に「標準的な製品」と「絵」は、追加のフィールドのためだけでなく、イデオロギー的に異なる可能性があります。
「注文」のようなテーブルがあり、製品やその他のデータへのリンクが含まれている必要があります。しかし、「製品ID」のようなフィールドを入力すると、データである必要があります。それは、標準の製品IDであるか、画像IDであるかです。
追加フィールドのテーブルのようなデザインもあり得ますが、別の問題があります。table(id、additional_field_name)とマッピング用のtable(id、add_field_id、product_id、field_value)を作成できますが、field_valueは数値でも文字列でもかまいません。したがって、このアイデアは適切ではないと思います。