Подтвердить что ты не робот

Дизайн базы данных для хранения рецептов продуктов

Я хочу создать базу данных рецептов, которые мне нравятся, но у меня возникли проблемы с ее разработкой. Я хочу иметь как минимум две таблицы:

  • Таблица рецептов (содержит описание, ингредиенты, направления и т.д.)
  • Таблица ингредиентов (тип ингредиентов, другие атрибуты и т.д.)

Каким образом можно связать две таблицы вместе? Мне нужна третья таблица, которая сохранит несколько отношений от рецепта до нескольких ингредиентов?

Как вы, наверное, можете сказать, я относительно новичок в этом, просто пытаюсь найти правильный способ сделать это с первой попытки.

Спасибо!

4b9b3361

Ответ 1

Вот ссылка на довольно продвинутый:

http://www.databaseanswers.org/data_models/recipes/index.htm

но если вы действительно хотите его правильно закодировать, я бы пошел с третьей реляционной таблицей.

веселит, Mike

Ответ 2

Есть ли у одного рецепта много ингредиентов или у многих рецептов много ингредиентов.

Я бы ожидал, что последний сможет позволить вам найти рецепт ингредиента.

Таким образом, вам понадобится промежуточная таблица, чтобы разбить отношения многих и многих на две отношения.

Recipe(RecipeID, etc...) 
Ingredients(IngredientID, etc....)
RecipeIngredients(RecipeID, IngredientID, etc..)

Тогда в RecipeIngredients я бы поставил информацию, такую ​​как количество этого ингредиента для этого рецепта.

Ответ 3

Вы можете рассматривать что-то вроде папки текстовых файлов с полным текстовым индексом.

Или таблица типа Recipes (ID, LikeRatio, Описание как текст). Опять же с полнотекстовым поиском.

Теоретически вы можете использовать нормализованную модель, такую ​​как предложенная @Mike. Но, глядя на фактические рецепты, он должен быть более гибким. Например, в этой модели нет доказательств использования на каком-то этапе результата предыдущего шага.