Я делаю настольное приложение JavaFX. Это система точек продаж, которая отслеживает заказы в ресторане. Я очень новичок в этом, и некоторые вещи запутались после того, как я запустил свой phpmyadmin для создания своей базы данных.
Это соответствующая часть моего UML: ![](https://i.stack.imgur.com/9ixjW.jpg)
Некоторые примеры, поясняющие содержание таблиц:
Ingredient
таблица может содержать: Мука, сахар, говядина, яйца ... ArticleMenu
таблица может содержать: Пицца , Burger ... ArticleMenu
состоит из множества ингредиентов, но эти ингредиенты все еще могут существовать сами по себе, поэтому я подумал, что это совокупность.
Проблема это перевести это в реляционную базу данных, и особенно агрегацию.
То, что я пробовал: в ArticleMenu
, атрибут 'recette' - это FK, который ссылается на строку из таблицы Ingredient
, атрибут 'recette' имеет тип ENUM
, который может содержать много значений, которые пользователь определяет при создании строки в ArticleMenu
.
Пример: ArticleMenu
В таблице есть строка, представляющая, скажем, Pizza, один из ее атрибутов: рецепт типа ENUM
и имеет значения «сыр, мука, дрожжи, лук, помидор, грибы, масло»
мой вопрос: это приемлемо способ представления агрегации и что было бы наиболее оптимальным способом?
Редактировать:
После прочтения ответа Кристофа становится ясно, что я не понял, что такое ENUM
,
Документ IBM, который он связал, очистил меня от путаницы, связанной с этой топи c.
Информация о запасах не должна быть частью таблицы ingredient
, так как может быть много состояний ingredient
, поэтому я удалил их.
Что касается количеств, используемых в каждом получателе ie, они будут представлены с использованием атрибута quantity
из таблицы recipie
.
Так что я переосмыслил свой подход и придумал этот дизайн: ![enter image description here](https://i.stack.imgur.com/ZiqIf.jpg)