Office中国论坛/Access中国论坛
标题:
Access建表规范总结(四)——适当冗余
[打印本页]
作者:
盗梦
时间:
2014-9-11 11:43
标题:
Access建表规范总结(四)——适当冗余
本帖最后由 盗梦 于 2015-6-16 10:07 编辑
这次Access建表规范总结的内容有点特殊——
适当冗余
。
前面我们一直强调用尽量少的字段表达,高度概括。而这次为什么要说适当冗余呢?
这个冗余处理是针对我们的程序运行效率而言的
。
一般来说,字段少说明表结构简洁。然后有一些统计的数据,就用查询得到。这样久而久之可能走偏,会陷入到一种陷阱——“
简洁陷阱
”。
处于这个陷阱中的你,表现为:表结构相当精简,不同什么金额小计,数量总计的东西都用查询处理。有时候一个程序里面有十多个查询都是最少的。这种程序,一般运行效率都会比较低。
所以我们要适当的做冗余处理,适当添加一些统计用的字段。每次添加记录的时候,顺便更新这些统计字段。待到下次统计的时候,轻轻松松可以拿这些现成的统计数据使用,不用每次都通过查询去计算,提高效率。
还是举个例子吧。这个是销售主子表比较“精简”的结构。
[attach]54572[/attach]
然后,要统计相关数据,再通过查询。
先对子表进行统计:
[attach]54573[/attach]
[attach]54574[/attach]
再建立新的查询:主表和上面子表统计查询
[attach]54575[/attach]
[attach]54576[/attach]
数据少倒是没有感觉,如果数据很多,几十万条,上百万条的话,这样处理将会很慢。
这样每次要通过查询去统计的数据,会比较慢。我们可以使用适当冗余的方式。
用表的空间换取时间,分摊统计的时间,提高运行效率
。
我们可以添加一些字段:
[attach]54571[/attach]
这样,我们平常想得到一些数据,就可以直接读表,很快的得到我们想要的数据。当然至于这些数据怎么写入进去,这个就看大家自己的了。这个是基本功。主要思路是在新增、修改和删除相应记录的时候,用代码即时统计更新即可。
相关文章:
Access建表规范总结(一)——高度概括
Access建表规范总结(二)——基础表独立
Access建表规范总结(三)——主子表拆分
Access建表规范总结(四)——适当冗余
Access建表规范总结(五)——辅助字段
Access建表规范总结(六)——最小信息
作者:
todaynew
时间:
2014-9-11 16:52
本帖最后由 todaynew 于 2014-9-11 16:54 编辑
窃以为除所论之外,数据之间的业务关系也是适当冗余的重要因素。以例中单价与金额来讲,实际业务中单价和金额间的处理关系,有可能是金额等于单价乘以数量,也有可能是单价等于金额除以数量(如分摊运杂费、含税单价计算等,此类情形下金额是精确值,单价是近似值)。因此在两种计算关系并存的情况下,也就必须同时在数据库中存有单价和金额字段。
作者:
offxiazaiba
时间:
2014-9-11 16:54
写得很好,支持一下
作者:
盗梦
时间:
2014-9-11 17:01
todaynew 发表于 2014-9-11 16:52
窃以为除所论之外,数据之间的业务关系也是适当冗余的重要因素。以例中单价与金额来讲,实际业务中单价和金 ...
确实会有各种各样的情况。
作者:
zpy2
时间:
2014-9-12 07:05
不错!支持!
作者:
冚友
时间:
2015-1-30 19:12
学习学习
作者:
zbl960
时间:
2015-2-13 14:39
写的十分详细,学习了。谢谢!
作者:
cpxie
时间:
2015-5-27 11:29
学习啦
作者:
today_suny
时间:
2016-1-5 22:32
初学 建表的规范 学习了
作者:
kuiblue
时间:
2016-8-31 11:35
逻辑清楚,易动简洁,大赞!
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3