Это зависит от того, что вы собираетесь делать с данными.
Если по какой-то причине нормализация важна для вас, то следующее работает довольно хорошо.
Fruits (
fruit_id,
food_id references favoritefoods.food_id,
fruitName)
Vegetables(
vegetable_id,
food_id references favoritefoods.food_id,
vegetableName)
favoriteFoods (
food_id,
foodName)
Таблице любимых продуктов не нужно «знать», что это за еда, если таковая имеется. Каждый фрукт и каждый овощ связан с соответствующей любимой пищей.
Если вы хотите выбрать все фрукты из любимых продуктов, просто присоединитесь к таблице фруктов и таблице любимых продуктов. Вы можете даже включить помидор в качестве овоща и фрукта, если это подходит вам по вкусу.
Вышеизложенное основано на предположении, что объединения дешевы. Во многих ситуациях объединения действительно дешевы. Проверьте это, прежде чем изменить свой дизайн, чтобы избежать объединений.