Как записать последовательные коллекции записей в MySQL - PullRequest
2 голосов
/ 08 марта 2012

Предположим, у меня есть таблица, в которой содержатся записи определенного типа, например, инструкции по приготовлению, например "Fold the melted chocolate into the egg whites".Таблица содержит поле уникального идентификатора и строку.

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

Каков наилучший способ структурировать мою таблицу рецептов для сопоставления уникального идентификатора рецепта с последовательностью последовательных инструкций (которые не являются последовательными)

1 Ответ

6 голосов
/ 08 марта 2012

Попробуйте нормализованный дизайн, подобный этому:

recipe
id  name
1   Recipe1
2   Recipe2

recipe_instruction
recipe_id  instruction_id  sortorder
1          5               1
1          3               2
1          4               3
2          6               1
2          7               2
2          3               3

Чтобы получить список инструкций для конкретного рецепта, вы можете использовать этот запрос:

SELECT i.the_string
FROM recipe_instruction AS ri
JOIN instruction AS i
ON ri.instruction_id = i.id
WHERE ri.recipe_id = 1
ORDER BY ri.sortorder
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...