Ответ 1
Вот ссылка на довольно продвинутый:
http://www.databaseanswers.org/data_models/recipes/index.htm
но если вы действительно хотите его правильно закодировать, я бы пошел с третьей реляционной таблицей.
веселит, Mike
Я хочу создать базу данных рецептов, которые мне нравятся, но у меня возникли проблемы с ее разработкой. Я хочу иметь как минимум две таблицы:
Каким образом можно связать две таблицы вместе? Мне нужна третья таблица, которая сохранит несколько отношений от рецепта до нескольких ингредиентов?
Как вы, наверное, можете сказать, я относительно новичок в этом, просто пытаюсь найти правильный способ сделать это с первой попытки.
Спасибо!
Вот ссылка на довольно продвинутый:
http://www.databaseanswers.org/data_models/recipes/index.htm
но если вы действительно хотите его правильно закодировать, я бы пошел с третьей реляционной таблицей.
веселит, Mike
Есть ли у одного рецепта много ингредиентов или у многих рецептов много ингредиентов.
Я бы ожидал, что последний сможет позволить вам найти рецепт ингредиента.
Таким образом, вам понадобится промежуточная таблица, чтобы разбить отношения многих и многих на две отношения.
Recipe(RecipeID, etc...)
Ingredients(IngredientID, etc....)
RecipeIngredients(RecipeID, IngredientID, etc..)
Тогда в RecipeIngredients
я бы поставил информацию, такую как количество этого ингредиента для этого рецепта.
Вы можете рассматривать что-то вроде папки текстовых файлов с полным текстовым индексом.
Или таблица типа Recipes (ID, LikeRatio, Описание как текст). Опять же с полнотекстовым поиском.
Теоретически вы можете использовать нормализованную модель, такую как предложенная @Mike. Но, глядя на фактические рецепты, он должен быть более гибким. Например, в этой модели нет доказательств использования на каком-то этапе результата предыдущего шага.