私の問題は非常に簡単ですが、解決策が見つかりません。2番目の外部キーに応じた外部キー
Table food:
id (key);
category_id;
food_id
Table category:
category_id (key);
category_names [fruits, vegetables]
Table fruits
food_id (key);
fruit [apple, banana]
Table vegetables
food_id (key);
vegetable [bean, carrot]
は、私が今CATEGORY_IDで指定されたカテゴリに応じて、テーブルに果物+野菜をテーブルの食品からの外部キー制約を構築したい:以下、私が持っていると言うことができます。これは可能ですか?
私はフードテーブルで指定されたカテゴリに応じて、主キー:fruits.food_idまたはvegetables.food_id ...を参照します。この例では、3つのテーブルしか使用できないと思いますか?果物と野菜は2つの全く異なるテーブルであると考えられています。 – gruenkohl
お望みの通りです。しかし、1つの外部キーは複数の主キーを参照することはできません。これを逆の方法でモデル化する必要があります。つまり、 'food_id'を' food'の主キーにし、 'child_テーブル 'からそれを参照してください。そこでは、同じフィールドにプライマリキー* AND *外部キーを持つことができます。 –