我正在设计有 2 个表的 Db
- 行项目表
- 价格表
每个行项目可以是 Lot 类型,或者 Unit Lot 是具有相同价格的行项目组。所以有许多行项目到一个价格关系,并且有一个单元行项目,每个项目都有不同的价格(所以有一个 - 一个关系)
所以现在,我有 2 个表,它们之间有 2 种关系价格(单位)1 到 1 行项目价格(手)1 到多个行项目
我们开发了如下设计
LineItemTable(Id,PriceIdfk...)
和
Price(Id,Type,CostPrice)
此处类型指示是单位还是批次
但它并不完全限制上述关系
例如:LineItem 表下面有 3 行
(1, LotA, 31)
(2, LotA, 31)
(3, Unit, 32)
和价格表将有以下 2 条记录
(31,Lot,100$)
(32,Unit, 13$)
想象一下将 Line Item 上的 PriceIdFk 从 31 更改为 32,因此属于同一批次的 2 个项目将具有不同的价格,这是不应该发生的。
我尝试创建单独的主表,LineItemType(Id,Type)
因为它只有 2 条记录(1,Unit)
,并且在多列(2,Lot)
中引用了这个 Id ,但这并没有太大区别,因为属于同一批次的 2 件商品可能有不同的价格。PriceTable
LineItemTypeFk
我想我以错误的方式识别实体,但我找不到适合这种情况的任何解决方案。