标题:如何组织数据
只看楼主
铁狐狸
Rank: 1
等 级:新手上路
帖 子:19
专家分:1
注 册:2014-4-14
结帖率:100%
已结贴  问题点数:10 回复次数:7 
如何组织数据
    今天有点心血来潮,上午发了个帖子,觉得还没说够,就再啰嗦一次。
    开发企业管理方面的应用程序,首先要面对的就是如何组织数据的问题。当程序员接触企业数据时,用户提交的都是一些帐表,各种各样,五花八门,看得都头痛。其实,要分析企业管理数据,也是很简单,就二样东西:帐、表。帐表在形式上都一样,都是表格形式,但本质上有很大的不同。帐,基本上是序时的,即按时间顺序,记载企业经营活动的各种数据,记载的是一种“过程”,属于动态数据,而表是那些过程在某一个时点上的“结果”,属于静态数据。没有“过程”,就没有“结果”,有什么样的“过程”,就有什么样的“结果”。把握住这个原理,对于组织数据和开发程序来说,非常重要。
    所有记载“过程”的,都必须要重点对待,必须保证“过程”记录是真实的、完整的。所有程序都要围绕“过程”展开,所有依靠“过程”数据能够得到的“表”,都没有必要物理存在,更不要存在于数据库中。企业管理工作中,因为数据量比较大,手工处理客观上需要分段作业,即把“过程”分成若干时间段,按月分段是最常见的。但对于计算机来说,这种分段作业就是画蛇添足,很多程序员迁就于这种“分段”作业模式,把一个程序弄得支离破碎,“按月”、“按季”、“按年”,不一而足。除了国家法规要求企业在经营管理中必须要按年“结帐”外,在程序中,都不应该有“月”、“季”的概念,而是用户可以选择一年中任意时间段进行“作业”。所有“月末”、“季末”报表以及计算机硬盘上物理存在的相应文件都不应该存在。这种手工思维在很多企业管理软件中都有,比如,一些软件的操作界面搞得跟手写模式一样,一个数字非要把各个字符放在规定的位置,一个字符位置错了,真个数字就变了,真的不知道这是什么思维,计算机是一个工具,效率是第一位的,仅仅为了所谓的“好看”,而损失了易用性,真的是无法理解。所以,开发企业管理方面的软件,必须要摈弃手工思维。说的有点远了,再回头说数据库的事儿,各种记载“过程”的文件要保证都是独立的,不和其他文件发生关系。这是因为,VFP数据库不能把库里全部文件封装在一个文件里,这种数据库在安全性方面就有一种致命的缺陷,所以,我在数据库里基本不用一对多等形式建立表与表之间的关系,宁愿编程费点劲,也要保证表的相对独立性,只要各个表是相对独立的,数据文件的恢复重建就变得容易,这也是没办法的办法。
   由于记载“过程”的文件非常重要,在编程时就必须很小心,程序尽可能避免直接针对这类文件进行“编辑”。我的方法是,无论单机还是多用户,都用C/S模式,很多朋友会问,单机如何做到C/S模式,其实,我这里讲的C/S模式是一种思维,即把操作界面当作客户端,而真正要操作的表是服务器。数据维护界面所操作的是“视图”,或是表的副本,无论是单个记录还是多个记录,一律用视图更新的办法或用INSERT-SQL处理,禁止对于记载“过程”的记录进行删除和修改,这不仅仅是要保留操作痕迹,更重要的是,企业管理中这些“过程”数据往往都有“借贷平衡”的逻辑关系,修改或者删除一条记录,会造成帐目“不平”。
    粗浅看法,可能很业余,不当之处,敬请各位狐友指正。
搜索更多相关主题的帖子: 企业管理 企业经营 应用程序 程序员 如何 
2014-09-25 17:03
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:3 
学习一下
2014-09-25 17:23
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
得分:3 
楼主体会深刻。tiliqi 版主的谦虚、热心。都值得学习呀!
2014-09-25 19:51
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:3 
题目不小啊

活到老,学到老! http://www. E-mail:hu-jj@
2014-09-25 19:55
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:680
专家分:1287
注 册:2009-3-1
得分:3 
有见第,学习了
2014-09-25 21:53
m874604023
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2013-9-11
得分:0 
学习了
2014-12-29 18:57
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:108
帖 子:2175
专家分:3785
注 册:2007-4-27
得分:0 
请继续哦……关注中……

只求每天有一丁点儿的进步就可以了
2014-12-30 12:56
my2318
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:12
帖 子:233
专家分:577
注 册:2014-3-18
得分:0 
很对头,有道理
2015-01-01 12:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-436556-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.149706 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved