我试图提出表格设计,每个类别都有不同类型的点计算。
第一个示例:客户从CPU类别订购'Intel CPU Core i7 3770K'项目 - 点将通过(category_point / item_cost)计算
第二个示例:客户从SSD类别订购'OCZ SSD'项目 - 点将通过(category_point
/ item_cost
+ bonus_point
+计算other_name_point
+ other_name_point
)
我需要在表格中指定bonus_point
,other_name_point
,category_point
的固定值,等等。每个月左右都可以更改。
价格范围示例(与上述不同) - 如果客户从主板类别订购任何项目 - 点数将根据项目成本范围计算,如:
0.00到£40 = 10分
40.00至40英镑= 52分
超过40英镑= 64分
我需要手动指定价格范围的点。这不是category_point
/ item_cost
+ bonus_point
+ other_name_point
+ other_name_point
如何为点设置设计表格?
答案 0 :(得分:0)
可能是这样的:
<强> Customers
强>
Id
,Nam
即, <强> Orders
强>
Id
,OrderDate
,CustomerId
, *ItemsOrders
*
ItemId
,OrderId
, <强> Items
强>
ITemCost
, <强> Categories
强>
CategoryId
,Name
, <强> CategoryPoints
强>
CategoryId
,PointId
, <强> Points
强>:
PointId
,PointNam
,PointCostTyp
位('固定'或'更改'), PointsCostsRanges
:仅适用于不固定的品脱
Id
(Surrorgate键)。PointId
,FromRange
。ToRange
。请注意:
bonus_point
,other_name_point
和other_name_point
?如果是这样,您可以删除表Points
并在CategoryPoints
表中添加三列。bonus_point
,other_name_point
和other_name_point
那么它有3个点或什么?答案 1 :(得分:-3)
您的示例似乎是业务规则。业务规则应该在应用程序代码中,而不是数据库中。
但是,某些值可以保存在数据库表中以便于更改。以你的主板为例,你可以有一个像这样的结构表:
Part Discount
-------------
Discount ID
Part ID
Cost
Discount
此表中的值为:
1, 23, 4000, 10
2, 23, Max int, 64
其中23是主板的部件号。