基础表的设计问题

icedut 2004-12-24 05:21:43
问题1:主要是一个计划及实际的完成情况
第一种方法:两个表 一个表是计划情况(主键,数量...),另一个表是差异(主键,数量...)
第二种方法:计划和实际情况放在一个比表里面,只是多加了一个字段表示实际数量(主键,计划数量,实际数量...)

我倾向于第一种方法,因为差异不是多数,只能站10%,我想这样数据量会少一点吧
计划明细表一年也要500w条记录左右,而且还会增加
...全文
151 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
icedut 2004-12-27
  • 打赏
  • 举报
回复
报表的问题不是问题
只是觉得又是做试图,有时连接,真复杂

试图里面就连接了18次
觉得生成报表有点慢
jim138 2004-12-24
  • 打赏
  • 举报
回复
报表的问题,你可以用水晶报表来解决,但要一些技巧.
sky125 2004-12-24
  • 打赏
  • 举报
回复
下次再来看,先做个记号
icedut 2004-12-24
  • 打赏
  • 举报
回复
大家圣诞快乐

大家继续讨论
icedut 2004-12-24
  • 打赏
  • 举报
回复
问题1: 的确加差异也是为了以后的分析方便, 方法2每次都要作连接.
数据量大,效率也是一个很大的问题
icedut 2004-12-24
  • 打赏
  • 举报
回复
上面的两个表结构,方式1是我现在的表结构,而且类型代码还有好几类,作别的操做还好,但是作打印的时候,就要连接很多表,感觉很麻烦.主表的数据量不大,一天也就1000条记录.
不知道我的这种方式是否好,大家给体提建议.

-----------------------------
感觉上,连接的表态多了,而且有一些类型查询时经常用到,现在是加了索引,
jim138 2004-12-24
  • 打赏
  • 举报
回复
我的建议是,先确定基础表的字段内容和含义,然后看看这些表和主表的关系,有可能的话,写出他们的
函数依赖关系(FD),然后在根据FD来分解,尽可能保证每个表都是BCNF,对于多值依赖的情况,要求各表为:4NF.当然很难做到每个表都是BCNF或4NF,但要保证大多数都是BCNF或4NF.
zjcxc 元老 2004-12-24
  • 打赏
  • 举报
回复
问题2

数据量不大,那关联也还是比较快的(相关字段上建立索引)

如果采用方式2,要求你的参数表中的数据是相对固定的,否则数据变化引起的数据更新处理就够你忙
子陌红尘 2004-12-24
  • 打赏
  • 举报
回复
回答问题2:
transmode, servemode, payer 的名称都可以维护在地点表中,在主表中只需要保存编号即可。
1、冗余少
2、便于批量改动
3、扩展方便
zjcxc 元老 2004-12-24
  • 打赏
  • 举报
回复
差异情况如果只有一条记录,则我觉得用第二种好处理一点,统计/查询和处理方便(关联查询更耗时)
icedut 2004-12-24
  • 打赏
  • 举报
回复
我的级别比较低,不然可以多方点分
icedut 2004-12-24
  • 打赏
  • 举报
回复
大家多多提建议,具体的方案我也没有太想好
icedut 2004-12-24
  • 打赏
  • 举报
回复
问题2:主表里面是存放具体的类型代码,还是类型描述
=============================================
方式1
主表 id, transmode,servemode,payer...
1 1 1 2
2 1 2 1
3 2 1 1...
=============================================
=============================================
方式2
主表 id, transmode, servemode, payer...
1 汽运 货送柜台 收货方
2 汽运 货送仓库 发货方
3 中铁快运 货送柜台 发货方...
=============================================

参数表 class code Des
Payer 1 发货方 Payer 2 收货方
PayMode 1 划帐
PayMode 2 支票 PayMode 3 现金
PayTerm 1 按协议 PayTerm 2 月结 ServeMode 1 货送柜台 ServeMode 2 货送仓库 ServeMode 3 货送工厂 TransMode 1 汽运 TransMode 2 中铁快运 TransMode 3 空运
==================================================
上面的两个表结构,方式是我现在的表结构,而且类型代码还有好几类,作别的操做还好,但是作打印的时候,就要连接很多表,感觉很麻烦.主表的数据量不大,一天也就1000条记录.
不知道我的这种方式是否好,大家给体提建议.
子陌红尘 2004-12-24
  • 打赏
  • 举报
回复
我也认为第一个方案更合适一些。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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