如何设计数据库以实现此功能?
考虑一个场景,我们想要创建一个产品关系(包).
假设我们创建了一个ProductTbl
prod_id prod_name prod_fee
1 prepaid-A 19 usd
2 prepaid-B 29 usd
3 prepaid-C 39 usd
4 internet 9 usd
5 mms 1 usd
6 email 3 usd我们想提供一个产品包,为客户提供更好的费用。
例如,如果客户选择预付-A+互联网+彩信,他们将获得25美元(而不是29美元)的pkg费用。
设计
例如一公斤的组合
ProdPkgTbl
ppkg_id prod_name prod_fee
1 prepaid-A 25 usd
1 mms 25 usd
1 internet 25 usd
2 internet 10 usd
2 email 10 usd
3 prepaid-C 45 usd
3 internet 45 usd
3 mms 45 usd
3 email 45 usd这意味着
因此,如果客户得到预付-c+互联网,他们没有得到45美元的交易,他们将支付正常的费用39 +9= 48美元。
现在这个表只是为了演示,我想得到您的输入和建议,以建立一个正确的方向。
我们首先需要选择-查询客户当前的收费计划(基于二手产品/服务),然后查看产品pkg,看看pkg交易对他们是否有效。
(如何进行这种选择?在pkg桌子上?)如何建立一个良好的db模型?
请用网址,提示,任何有价值的建议,把我推向正确的方向。
非常感谢。
发布于 2013-02-20 21:09:25
你在从目录中销售商品或服务。你也可以出售以上的组合。这就是所谓的营销包(或捆绑或组合)。
销售套餐也从目录中出售。它可以由商品、服务或其他营销包组成。
每个订单的价格都不一样。您可以在好的表中设置基本价格,在服务表中设置月价格,在营销包表中设置基准价格。

发布于 2013-02-20 20:48:40
我希望得到一些关于这方面的意见,但问题可能是“混乱”来回答。*o)
我现在的模型是这样的:
ProductTbl
prod_id prod_name prod_fee
1 prepaid-A 19 usd
2 prepaid-B 29 usd
3 prepaid-C 39 usd
4 internet 9 usd
5 mms 1 usd
6 email 3 usdProductPkgTbl
ppkg_id prod_id prod_name
1 1 prepaid-A
1 5 mms
1 4 internet
2 4 internet
2 6 email
3 3 prepaid-C
3 4 internet
3 5 mms
3 6 email ProductPkgFeeTbl
ppkg_id ppkig_fee
1 25
2 10
3 45但是,上面也存在一些缺陷,就是有人可以在不同的pkg中插入相同的产品,并收取不同的费用。
我真的不知道如何用sql来确保pkg是唯一的。当然,编程语言/存储过程/触发器等都可以进行检查!但我想要一个100%完美无瑕的设计。
请用你的经验把我推向正确的方向.
https://stackoverflow.com/questions/14527203
复制相似问题