моя проблема довольно проста, но я не могу найти решение. Допустим, у меня есть следующие:Внешний ключ в зависимости от второго внешнего ключа
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. Это возможно?
Я хочу обратиться к основным ключам: либо fruit.food_id, либо vegetable.food_id ... в зависимости от категории, указанной в таблице продуктов питания. Вы думаете, я могу пойти в этом примере только 3 таблицы? Фрукты и овощи должны быть двумя совершенно разными столами. – gruenkohl
Как пожелаете. Но один внешний ключ не может ссылаться на несколько первичных ключей. Вы должны моделировать его обратным способом, т. Е. Сделать 'food_id' основным ключом' food' и ссылаться на него из «дочерних таблиц». Там вы можете иметь первичный ключ * И * внешний ключ в том же поле. –