Я уверен, что на это можно ответить, но точно не знаю где.База данных: Foreign Key Enforcement
Предисловие:
Мы живем в биллинга. Дизайн приложений довольно прост, мы создаем веб-магазин для бизнеса и предоставляем учетные данные владельцам бизнеса.
Владельцы бизнеса могут входить в систему и создавать соответствующие товары, категории и т. Д. Они также могут регистрировать устройства, которые они могут использовать для выставления счетов.
Основные объекты могут быть созданы с использованием веб-интерфейса, тогда как биллинг выполняется в собственных приложениях для устройств.
Таблицы базы данных:
BUSINESS: id, name etc. - Business Info Table
CATEGORY: id, business_id, name etc. - Product Categories
PRODUCT: id, category_id, name etc. - Products
Применение:
Spring РОО веб-приложение. Spring MVC как технология GUI
Проблема:
Как упоминалось ранее владельцы должны использовать свои учетные данные для входа в интернет-магазине. Таким образом, в то время, когда они начали создавать объекты, webapp знает соответствующий идентификатор бизнеса, который прозрачно хранится для всех категорий, продуктов и т. Д.
При создании продуктов пользователь может выбрать категорию, в которой может упасть продукт.
Вопрос заключается в том, стоит ли хранить business_id в таблице продуктов? Потому что мы собираемся заполнять категории, имеющие отношение к бизнесу, во время создания графического интерфейса продукта. То же самое можно сделать со всеми связанными таблицами, где такие правила применяются в графическом интерфейсе.
Как некоторые из вас могут знать, ROO использует подход к созданию сервиса для каждой операции CRUD. Поэтому, если мы решили не хранить business_id с продуктом, бизнес-правило можно обойти, если кто-то попытается вызвать службу с идентификатором категории, который не относится к соответствующему бизнесу. Или это хорошая идея оставить проект базы данных неповрежденным и сосредоточиться на обеспечении сервисов.
Если у вас есть какие-либо соответствующие плюсы и минусы, пожалуйста, отправьте его здесь.
Заранее спасибо:) !!!!