一个项目的设计问题,令我这个菜鸟苦恼!

普凡 2009-02-24 08:54:25
我这个项目工具叫《无线网络城市覆盖财务工具》,简单功能叙述是这样的:输入一大推原始数据(包括基本信息、财务支出信息、运营费用信息等),
然后要通过复杂的运算公式(客户提供)得出三个表(运维费用、资本支出、收入),还有一个功能就是要以图表的形式来显示出这些三表的数据(我用jfreechart来做)并可以实现随着滚动条(可以是原始表中的一个字段)的改动,来实时的改变图形(也就是三个表)。
我一开始是这样设计的,数据库分为四个表,分别是原始表、运维费用、资本支出、收入;然后通过用户输入的原始数据再加上运算公式得出那三个表的数据,显示的时候是从数据库里读取。
但是现在用户说了,在原始信息的资本支出里面,不一定是固定的那么几项,想随时增加(就相当于新增人员模块,客户要求你不要把姓名、年龄这些输入项写死,要可以灵活增加),这样的话,我的数据库字段就定不下来了。
我现在想是这样设计,原始表中的每一个栏目都再定为一个表,比如资本支出这一栏目就存一个独立的表,字段可以是名称等等,无非就是把原始数据分几个表存放,只是计算的时候麻烦一些,但是问题又来了,我其他的表的字段还是定不下来呀,
我现在是想能不能不把通过计算得出的那三个表的数据存数据库里而直接显示在页面呢?!这样的话本项目就一个表!
还是有什么更好的设计呢,哥哥姐姐要是有时间帮我想想万分感谢
...全文
475 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
superlansim 2009-06-08
  • 打赏
  • 举报
回复
不明白什么意思。。。。。
xutao_2008_2000 2009-06-05
  • 打赏
  • 举报
回复
把属性分离出来,做成指标表
ccwking 2009-05-21
  • 打赏
  • 举报
回复
支出的项目,这些东西应该定义成数据,而不是字段名。
因为首先这些项目就是不完全固定的,其次,他们可能还有大项小项的层次区分。
做分析统计的时候,也不用因为新加了项目而做很多变更。反之你要是在表里加入了一个新列,那么相应的分析和统计你都要变更,会让你疯掉的。
kkiwuse 2009-05-18
  • 打赏
  • 举报
回复
看来以后做事都要留有余地
yakai1 2009-05-17
  • 打赏
  • 举报
回复
关注下
zenithVan 2009-05-16
  • 打赏
  • 举报
回复
fangge1888 2009-05-08
  • 打赏
  • 举报
回复
关注下。。
bucce 2009-05-07
  • 打赏
  • 举报
回复
用预留表去设计这个项目比较好
yejinson 2009-05-03
  • 打赏
  • 举报
回复
en
interpol13 2009-04-27
  • 打赏
  • 举报
回复
关注一下
ET郭强 2009-04-22
  • 打赏
  • 举报
回复
学习了,
yanzhongpu 2009-04-22
  • 打赏
  • 举报
回复
做字段的配置表,将数据以纵表的方式存储
setup37 2009-04-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wdz567 的回复:]
我有个思路不晓得要不要的

就是把不确定的字段都用以保留字段命名。
然后在设置一张字段配备表。
标明哪个用户的在那张表的做什么的。什么属性,和什么表的什么字段有关联。

然后根据这个配备关系去关联计算数据。
[/Quote]

一般都会采用这个处理方法, 比较正确。把变动的,都存数据库里单独一个表里,并且有与原来表里相互关联的字段记录。这样查询显示,都是好的。就跟动态关联菜单似的
hbhdwhf 2009-04-18
  • 打赏
  • 举报
回复
好深奥啊。
dxpws 2009-03-26
  • 打赏
  • 举报
回复
up
myok6 2009-03-18
  • 打赏
  • 举报
回复
建表的方法很多啊,像你那样也是可以的啊,但如果是同一个客户的话你可以考虑ID关联,当然数据不大的话你可以考虑放在同一张表里哦
zgycsmb 2009-03-17
  • 打赏
  • 举报
回复
建议用关联表。
wonder888888 2009-03-13
  • 打赏
  • 举报
回复
动态SQL+交叉表. 可以处理动态属性....
wonder888888 2009-03-13
  • 打赏
  • 举报
回复
所有同类指标都存储在同一个表中,对于需要综合统计查询功能来说不需要做多余的表连接,其效率会提高不少,在此基础上对于个别统计功能可以对 标识段,指标标识段,时间标识段分别建立索引,也可以更好的提高查找和统计效率。
wonder888888 2009-03-13
  • 打赏
  • 举报
回复
预留字段是个办法,但是预留多少是个问题。
我建议:可以建立一个总表,扩充的内容作为子表,用表ID建立关联,这样扩充性更好
加载更多回复(7)

50,531

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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