Я создаю веб-платформу на AWS, чтобы владельцы ресторанов в моем сообществе могли создавать меню. Я перехожу от модели реляционной базы данных к решению NoSQL и задаюсь вопросом, как лучше организовать эти данные. Моя текущая реляционная модель выглядит следующим образом:
Table 'restaurants': id (int / primary key), name, owner (int)
Table 'categories': id (int / primary key), restaurant (int), parent (int)
Table 'items': id (primary key), name, category (int)
Только владельцу разрешено создавать / обновлять / удалять места, категории и предметы.
Что бы вы посоветовали в качестве ненормализованного решения с учетом ограничений собственности? Я думал сделать следующее:
Table 'restaurants': id (primary key), owner (sort key), categories (list of ids)
Table 'categories': id (primary key), restaurant (id), items (list of item objects), subcategories (list of category ids)
Хотите знать, было бы лучше, чтобы все данные категории содержались в таблице ресторана? Например, пользователь должен иметь возможность добавлять элемент в категорию только в том случае, если он является владельцем соответствующего ресторана, который может выполнить дополнительный запрос, как указано выше.