Я работаю над проектом RoR для работы, и у меня возникают проблемы с выбором дизайна таблиц моей реляционной базы данных.
Обратите внимание на следующее:
У меня есть модель Product, каждый продукт имеет уникальное имя.
У меня также есть модель под названием Магазин, в каждом магазине есть много товаров.
Наконец, у меня есть модель заказа, заказ, очевидно, связан с магазином, из которого был сделан заказ, и со списком товаров, которые были заказаны.
Я хотел бы сохранить значения по умолчанию (например, цену по умолчанию) для каждого продукта, и я бы хотел, чтобы каждый Магазин мог перезаписывать эти значения по умолчанию, если это необходимо, но не могу определиться со стратегией этого.
Я имею в виду следующее:
Создайте таблицу Product, которая будет включать название продукта, а также столбцы для сохранения значений продукта по умолчанию (например, цена)
Создайте таблицу магазина, которая будет включать все, что связано с магазином.
Создайте таблицу Product_To_Shop, в которой будет храниться количество товара для этого конкретного магазина, и будут содержаться дополнительные столбцы, которые соответствуют столбцам значений по умолчанию для продукта, что позволит магазину перезаписывать значения, связанные с продуктом по умолчанию.
Теперь, когда я хочу получить цену для конкретного заказа, я сначала проверю таблицу Product_To_Shop для соответствующего товара и магазина и проверим поле Цена для соответствующей строки, а в случае, если это не так. установите значение (ноль), перейдите к таблице Product и получите значение цены по умолчанию для соответствующего продукта.
Все это выглядит немного сложнее для задачи, которая кажется немного более тривиальной.
Мне было интересно, приходилось ли кому-либо когда-либо иметь дело с сохранением значений по умолчанию в базе данных подобным образом, и у него есть более элегантное решение, так как это кажется излишним ...