tripcollor
@tripcollor

Как спроектировать базу данных содержания элементов в продуктах?

Есть таблица содержания микроэлементов в пищевых продуктах
(Содержание элемента в 100 г продукта)

5bd179bb2b4a6776758340.png

Я так понимаю у меня должна быть отдельная таблица с продуктами питания и отдельная таблица с микроэлементами и потом как то их соотносить и заносить содержание каждого вещества в каждом продукте. Или все же у меня должна быть одна таблица с колонками из всех элементов грубо говоря как на картинке? А может вообще сделать поле с типом json?

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

Подскажите каким образом будет лучше хранить данные такого формата?
  • Вопрос задан
  • 172 просмотра
Решения вопроса 2
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Связанные таблицы.
- таблица продуктов
- таблица элементов
- таблица размерностей
- таблица объединения (ссылка на продукт, на элемент, на размерность и значение)

Очень смущают диапазоны, но их можно записывать как от-до
Ответ написан
@d-stream
Готовые решения - не подаю, но...
- 1 отдельная таблица с продуктами питания
- 2 отдельная таблица с микроэлементами
потом как то их соотносить -> третья таблица, где фигурируют ссылки на продукты, микроэлементы и количество

такая (классическая) структура всегда позволит получить из базы перечень микроэлементов продукта, перечень продуктов где встречается какой-то микроэлемент и так далее
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
sim3x
@sim3x
Если елементы не меняются часто, то сделать одну таблицу с 20 полями на каждый продукт (те не делать EAV) - null не занимает много места

Привести все значения к Си (те к кг) и приводить их внесистемным уже в интерфейсе
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы