数据库关于阶梯表的设计

Ice-cold 2014-04-01 11:22:03
最近因为工作原因,涉及到阶梯计算利润时涉及到阶梯价格,小弟才疏学浅,弄了一个简单的,但是两表如何引用始终想不明白,希望大大们能发抒己见,如何更加完善,求赐教!
以用电为例:如:0--50度为0.7元,50--150为1.0元,150-300为1.5元,300以上为2.5元

/*******************/
/*****表一**********/
/*******************/
CREATE TABLE MainTable
(
mid int unique,/*编号*/
museid int,/*用户编号*/
manme varchar(100), /*收费项目*/
mmonthYear datetime,/*计费月份*/
mamount decimal /*使用量*/
constraint PK_MAINTABLE primary key clustered (museid,mmonthYear) /*用户编号与计费月份联合主键避免重复计费*/
)
/*******************/
/*****表二**********/
/*******************/
CREATE TABLE FromTable
(
fid int,/*编号*/
fname varchar(200),/*阶梯名称*/
flower int,/*下限*/
fupper int,/*上限*/
fprice decimal, /*收费金额*/
)


两表应该怎么引用,或是还要添加一张从表?
...全文
3428 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
知道就是你 2014-09-16
  • 打赏
  • 举报
回复
能否在 “FromTable” 中增加一个属性,用于保存 计算公式 ? 在计算费用时 调用公式 自动计算 ? 但要注意 使用转义字符,计算公式要格式完全正确,否则结果肯定是错误的 !
  • 打赏
  • 举报
回复
看来看去,第一张表中,增加一个 计费阶梯ID,关联到你的第二张阶梯计费定义表的fid,这个字段的值,则是在你生成数据的时候,在程序逻辑去处理,亦或者是,使用触发器,在插入计费表的时候,自动填充所属阶梯id,这样,就关联起来了。同时,这样设计的好处在于,每一个人的计费阶梯,都会有对应的阶梯定义。这是符合数据库设计的。
yaya_07 2014-08-13
  • 打赏
  • 举报
回复
关系在程序中体现就行了,没必要非得在数据表中体现啊~
紫魂一号 2014-04-03
  • 打赏
  • 举报
回复
三张表,用户信息表,计价表,中间表(*用户用电流水表)
JMhappy 2014-04-02
  • 打赏
  • 举报
回复
一定要做引用吗?不能在程序里面处理?两张表没有直接的逻辑关系,都是间接隐性的关系 如果一定要在表机构上的话用触发器应该可以做到(个人觉得没必要这样) 还是你有什么特殊的需求?
benluobo 2014-04-01
  • 打赏
  • 举报
回复
可以在FromTable 增加字段起点费用 也就是如果计算总费用的时候,只需要找到对应FromTable的级别,用超过级别的数量*单价+起点费用就是总额
Ice-cold 2014-04-01
  • 打赏
  • 举报
回复
手工置顶

6,107

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 数据库报表
社区管理员
  • 数据库报表社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧