求电气收费数据库解决方案

cqhunter 2006-09-11 11:25:07
求电气收费数据库解决方案
出于某种需要,工厂需要对老的电气收费系统进行升级。由于该系统开发时间较早和管理的不规范,相关文档资料并没有保存下来。
开发要求:兼容以前的数据,实施平台转换
具体情况:电气表和用户存在“多对多”的关系,即一个用户可能有没有电气表,也可能有多个电气表,没有电气表的用户每个月固定扣取一 定费用;
一个电气表也可能有多个用户,这种情况用户的费用为均摊。

老的数据结构如下,数据库用的是foxpro:
表一:
id 地址 单位 用户 上月读数 本月读数 抄表日期 特征码 转扣 价格 补扣 表况
1 自立27 加工车间 胡开如 1100 1300 2005-8-9 1 2.00 0.00 1
2 自立29 1200 1350 2005-8-9 1 自立27 2.00 0.00 1
3 单工15 信息中心 荣华 800 900 2005-8-9 1 2.00 0.00 1
4 更新08 锻造车间 尹向东 0 2.00 0.00 1
特征码:0表示没有电表;1表示有电表;
表况: 0表示没有抄表;1表示已抄表;
抄表频率:每月一次;

表二:
id 地址 单位 用户名 人数 补扣
1 单工15 信息中心 刘永安 4 0
2 单工15 信息中心 张洪泉 4 0
3 单工15 信息中心 向建平 4 0
表二的作用主要体现“多用户共表”的其余用户,表一记录了一用户。

总用户大致有20000


设计目标:
1、数据库sqlserver2000;
2、改善上述结构。个人觉得老的数据结构方案不好,想做一个方案优化



...全文
330 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
cqhunter 2006-09-13
  • 打赏
  • 举报
回复
大家的意见呢?我还是有点拿不定主意.
fxf66 2006-09-13
  • 打赏
  • 举报
回复
所有的数据都放在一个库里

每多少数据,最多以后建一个历史表,工作表里放最近的数据(比如近5年),历史表放其余数据
cqhunter 2006-09-13
  • 打赏
  • 举报
回复
考虑这个因素, 抄表频率是每月一次.那是每个月重建一个数据库呢,还是把所有的数据都放在一个库呢?
每个月重建数据呢,逻辑好象更清楚.缺点呢,在做跨月统计和查询之类的动作时,就必须建立视图之类的东西了.
所有的数据都放在一个库里呢,逻辑不那么清楚,还有随着时间的增长,数据库的数据会越多,似乎回影响性能.不过,考虑我的用户只有20000户,按年来说的话,一年的数据不过240000条记录;而备份数据的要求是5年,5年下来数据库里最多不过才1200000条记录.好象sqlserver2000加存储过程应该不会导致性能下降的太多吧.
我现在对这两个方案有点拿不定主意.
fxf66 2006-09-13
  • 打赏
  • 举报
回复
抄表记录里至少还有个抄表人吧,电费单子上每次都有的,建议仔细看一下电费单子及相关单据

数据库设计和面向对象有关联吗
如果电表是一个对象,那它的信息独立放在一个表里,用户也是一个对象,其信息也单独放在一个表里,他们之间的联系的信息也单独放在一个表里,有点联系吧
cqhunter 2006-09-12
  • 打赏
  • 举报
回复
楼上的,这个问题我还真不知道.
xiedaowei 2006-09-12
  • 打赏
  • 举报
回复
请问:
数据库设计和面向对象有关联吗
cqhunter 2006-09-12
  • 打赏
  • 举报
回复
我的初步想法:
表1:表的信息(id,编号,安装地址,表况)
表2:抄表记录(id,表id,读数,抄表日期)
表3:用户表(id,名称,地址,单位,类型)
表4:表-用户关系(id,表id,用户id,价格类型)
表5:价格表(id,名称,价格)
fxf66 2006-09-12
  • 打赏
  • 举报
回复
up
实际应用中,在老的设计里楼主遇到什么很不好的地方的呢

发现不好的地方再改进

多对多可不可以设一个电表信息,用户信息,
再设一个电表-用户信息,这个表里可以设定每个用户承担多少费用的比率
diaowf 2006-09-12
  • 打赏
  • 举报
回复
Top

whw123456 2006-09-12
  • 打赏
  • 举报
回复
fxf66 2006-09-12
  • 打赏
  • 举报
回复
抄表记录表 保存每次电表的读数,分时电表应该有两个数据,每个月1条记录
价格表 保存价格信息,
根据这两个表可以计算出每个电表的当月的应付电价,
然后根据用户信息里的每个用户的分摊比率算出每个用户的应付电价

一切数据都是动态的,那也是最多一个月变一次吧
cqhunter 2006-09-12
  • 打赏
  • 举报
回复
一切数据都是动态的,即每个月都有可能变化,包括电表,用户表,价格表等,考虑方案时这个因素显得非常重要.
cqhunter 2006-09-12
  • 打赏
  • 举报
回复
老的设计不能满足现在的需要了,因为计算模式改变了,比如电费就要采用分时计算,而且程序运行的环境为ucdos,打印的设计也有问题,用户就要求对系统进行升级,其实就是设计一个全新的系统.
real_name 2006-09-11
  • 打赏
  • 举报
回复
up
cqhunter 2006-09-11
  • 打赏
  • 举报
回复
其实新的也可以,只要能够倒入旧的数据,请大侠们帮忙啊!
playwarcraft 2006-09-11
  • 打赏
  • 举报
回复
要設計一個新的是不難,主要麻煩在要兼容舊的...汗下

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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