2013-12-10 8 views
-1

В настоящее время я создаю проект, который собирает данные из профилей пользователей и фильтрует результаты запроса в зависимости от данных.База данных рецептов с таблицами ингредиентов

У меня есть семейная учетная запись, в которой есть разные члены семьи. Пользователи будут заполнять основную информацию о здоровье каждого члена. Затем эта информация будет использоваться для запроса результатов. Например, если член семьи заболел диабетом. Когда семейный аккаунт пытается просмотреть рецепт, вместо того, чтобы показывать пользователю все рецепты в базе данных, он просто вместо этого будет показывать рецепты, которые не являются рискованными для людей с диабетом.

Каков наилучший способ создания базы данных для рецепта.

Таблица 1 = рецепт Таблица 2 = ингредиенты

Для каждого ингредиента в рецепте, они будут иметь свою собственную таблицу, которая будет определять их питательную ценность, так что я мог бы эффективно определить, какие рецепты, чтобы отфильтровать. Как мне построить колонку для ингредиентов? если у каждого ингредиента должен быть собственный стол.

+2

Зачем каждому ингредиенту нужен свой * стол *? Каждый ингредиент будет * row * в таблице 'components'. В таблице должно быть название ингредиента, информация о питании (доступна из USRDA, кстати) и т. Д. –

+0

Это именно то, что я имел в виду, я, возможно, использовал неправильный термин, в свою очередь, сделал совершенно новое значение. Но это то, что я хотел, так как я могу построить столбец для ингредиентов в моей таблице рецептов, если я хочу связать это (Fk) с другой таблицей для каждого ингредиента для пищевых фактов – user3024497

+0

Пожалуйста, обновите свой вопрос, чтобы убедиться, что точно отражает то, что вы пытаетесь сделать основанный на обратной связи от @DaveNewton. – eebbesen

ответ

0

Вам потребуется присоединиться к таблице, например, recipe_ingredients,

recipe_id | ingredient_id 
    1  |  1    -- Recipe #1 has ingredients 1, 2, 3 
    1  |  2 
    1  |  3 
    2  |  2    -- Recipe #2 has ingredients 2, 5 
    2  |  5 

Вы также можете иметь столбец order или index, если вы хотите явно заказать ингредиенты.

Возможно, вам стоит потратить некоторое время на изучение основ SQL/RDBMS, так как это примерно так же низкоуровнево, как и получается.

+0

Я знал, с чем я был против. Мой проект, похоже, больше подходит для базы данных. Неудивительно, почему мне назначили советника, специализирующегося на БД. Я просто создаю макетную базу данных для рецепта, так что я мог бы закодировать мою часть html. Тогда мне пришлось бы уточнить структуру моей базы данных. Спасибо за это. – user3024497

Смежные вопросы