Возникли проблемы с логикой для базы данных рецептов напитка - PullRequest
0 голосов
/ 23 марта 2012

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

В одной таблице у меня есть список всех возможных ингредиентов (Coca-Cola, Pepsi, Smirnoff - Red Label, Skyy и т. Д.). Вторая таблица, перечисляет, какие ингредиенты доступны. В третьей таблице указаны рецепты смешанных напитков. Моя проблема возникает со столом смешанных напитков.

Например, если бы я хотел заказать отвертку, робот посмотрел бы, есть ли водка и есть ли апельсиновый сок. Однако, если рецепт напитка требует определенного типа водки (например, Smirnoff - Red Label), я бы хотел, чтобы робот использовал только Smirnoff, а не просто водку любого типа.

Итак, есть ли у кого-нибудь предложения относительно того, как я мог бы разработать базу данных для такого приложения? Я полностью озадачен этим.

Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 23 марта 2012

Похоже, вам нужна какая-то иерархия для ваших ингредиентов.Таким образом, у вас есть «дженерики», такие как «кола», «водка», «ром» и т. Д., А затем «бренды», такие как «кока-кола», «смирнофф», «бакарди» и т. Д.Это достигается двумя таблицами:

Generics
ID   -    Name
1    -    Cola
2    -    Vodka
etc

Ingredients
ID   - Generic_id  -  Name
1    -      1      -  Coca-Cola
2    -      1      -  Pepsi
3    -      2      -  Smirnoff - Red Label
4    -      2      -  Absolut
etc

Ps. Это подозрительно похоже на домашнюю работу.Если это так, вы должны пометить его как таковой ...

0 голосов
/ 23 марта 2012

Разделите ингредиенты на две таблицы: ingredient_types (то есть водка, сок, безалкогольный напиток) и ingredients (то есть Smirnoff, апельсиновый сок, кола). В рецептах указывается либо тип ингредиента («водка»), либо конкретный ингредиент («Смирнофф»).

0 голосов
/ 23 марта 2012

Вы должны добавить еще одну таблицу «категория ингредиентов» (например, фруктовые соки, водка, текила) и таблицу контрольных ингредиентов с FK.Затем измените таблицу квитанций, она должна содержать категорию или точный ингредиент как часть квитанции.

Затем, когда робот ищет ингредиенты, он может решить, есть ли у него точный ингредиент или он может выбрать из списка категорий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...