问题描述
现在在做一个政府的报表统计项目,这些报表有月报,季报。上边和左边都有固定的指标名称,中间要填写的内容??请问一下像这种报表怎么设计数据库? 问题补充:请问什么是bc范式? 问题补充:这种表格属于交叉表,有固定的行表头,和列表头。我是按行表头的列数是设计数据表,也就是提交一张报表,就同行插入好几行(列表头的数量)记录。。这样汇总起来,感觉不好汇总,请问象这种应该怎么设计数据库??期待高手的回复。问题补充:行和列都是固定的。是交叉报表。有一个朋友跟我说,行和列哪个数目多,就把它设计成表里的字段,那个少的当成记录。比说行表头有6列,列表头有9行。就把列设计成字段。填一张报,会往数据库里插6条记录。 请问这样设计行不?问题补充:表结构是这样的: 总计 | 限额以上企业 | 限额以上国有集体企业--------------------------------------- 合计 |其中工业 | 合计|其中工业 | 合计|其中工业企业个数--------------------------------------------------------------------从业人员-------------------------------------------------------------------营业收入-------------------------------------------------------------------总产值--------------------------------增加值---------------------------------实交税金----------------------------------资产总额----------------------------利润总额出口产品交货值问题补充:这里不能插图片 ,问题补充:行或列应该是有一个是固定的,你就用按照固定的那一个来设计 比如:列项是固定的,行是从数据库中选出来的某个值 这样你就按照列设计表格,设计行的时候也就与报表没什么关系了,只要存储的属性够用就行------------我现在就是把行头放到另一张表,做为记录,列头做成字段,把填写的报表内容放到列头为字段的那张表里,那用户填完一次报表时,就得往数据库里插好几条记录?这样设计行吗
解决方案
对,就是这么做你的表结构没太看懂,不过我知道你理解我的意思了交叉表吗,肯定是几个表交叉出来的你这个是反向,有报表后回填数据库表,肯定是要有多次插入操作,这个是很自然的事情另外就是你这么操作就需要有一个数据操作事务的控制,在失败的时候要全部回滚,否则可能造成数据的混乱
解决方案二:
不行,你要看哪个才是相对固定的,比如说下面这个表结构:引用地区 人数 男女比例辽宁 1 1:1吉林 2 1:1河北 3 1:1深圳 4 1:1难道你能把地区变成一个表的列名吗?
解决方案三:
行或列应该是有一个是固定的,你就用按照固定的那一个来设计比如:列项是固定的,行是从数据库中选出来的某个值这样你就按照列设计表格,设计行的时候也就与报表没什么关系了,只要存储的属性够用就行
解决方案四:
按需分析,补补一些必要的财务知识,然后就是表间的数据,建议产生出来的报表属于历史数据,这类的设计不能太过符合那些范式,数据仓库的基本设计要求,一些的冗余还是必要的,具体的我也是个新手,期待高手的回复。
解决方案五:
简单的说就是设计的表之间,如果其中一个改变了,不会影响或尽可能小的影响其他的部分,参考一下这个http://baike.baidu.com/view/176744.htm
解决方案六:
按照需求设计,最后将表整理成符合BC范式的结构