Какой правильный способ сделать это:
У меня есть следующие отношения между сущностями RAW_MATERIAL_PRODUCT и FINISHED_PRODUCT: ЗАВЕРШЕННЫЙ ПРОДУКТ должен быть сделан из одного или нескольких Сырьевых продуктов, и Сырье может быть частьюготового продукта. (так много-много).У меня есть объект пересечения, который я назвал ASSEMBLY, который точно говорит мне о том, что из сырья является готовым продуктом.
Хорошо.Теперь мне нужно продать готовую продукцию и рассчитать стоимость производства.Появляется сущность PRODUCT_OUT, которая может содержать только один ЗАКОНЧЕННЫЙ ПРОДУКТ, а ЗАКОНЧЕННЫЙ ПРОДУКТ может быть частью нескольких PRODUCT_OUT.
Было бы легко, если бы, например, готовый продукт A всегда был изготовлен из 3 кусочков сырого продукта a1, 2 из a2 и т. Д. Проблема в том, что количества могут измениться.
Запас сырого продукта вычисляется как
TotalIn - TotalOut
, поэтому я не могу поставить количество Атрибут в СБОРКЕ, потому что я получу неверные данные при расчетеСклад.(если количество изменено)
Моя единственная идея - отказаться от сущности FINISHED_PRODUCT и создать соединение между PRODUCT_OUT и RAW_MATERIAL_PRODUCT с сущностью пересечения, содержащей количественный атрибут.Но это кажется глупым, потому что почти все время FINISHED_PRODUCT состоит из одного и того же RAW_MATERIAL_PRODUCTS.
Есть ли лучший способ?