|
首先感谢各位高手,也感谢对此问题进行思考的各位先生
我的文字叙述能力可能存在一定的问题,让各位费神了。好了,闲话少叙,描述该问题:
名为ET的数据库中现已包含产品表Ma_Table、客户表Cu_Table、城市表Ci_Table和费用表Co_Table
简要介绍各表的基础结构
产品表Ma_Table的结构如下:
ID Num(产品编号) Cu_Num(使用客户编号)
客户表Cu_Table的结构如下:
ID Num(客户编号)
城市表Ci_Table
ID Prov(省) City(市) Cont(县区) Num(城市售后点编号)
当客户A领取了编号为M_01的产品,发放到城市表中安徽省合肥市肥东县
客户B领取了编号为M_02产品,也发放到城市表中安徽省合肥市肥东县
但是这两个客户的价格并不相同,假如A客户到肥东的价格为1000元,B客户的价格为2000元
而同样的产品,同样的客户,发放地址不同,价格也会有所差异,就像上例中,把安徽改成江苏徐州沛县价格也由A客户的1000改成900、B客户的2000改成1800
当我只有一个产品编号和一个城市售后点编号,我要求计算出其对应的费用,也就是根据产品编号,到产品表中找到客户编号,在到城市表中找到其对应的售后点编号,再根据费用表寻找到该客户编号对应的价格,计算,得到结果。
这样的话,费用表的字段数和记录就多了很多,首先一个客户信息,加上全国所有的售后点编号,这样就太笨了。
我尝试模拟了一个大概的结构,如图:
求相对优化的结构。(另外,对于这个客户的价格,会有一个公共的数值,也就是当未特殊指定客户到某城市价格,会默认使用公共价格进行计算,也就是当客户A并未指定到徐州的价格,则A客户到徐州以公共价格进行计算。) |
|