令我难忘的DB2数据库之路
2007-11-02 21:41:17 来源:WEB开发网 3. 数据一致性的惨痛教训
我开发的程序绝大多数是基于数据库的,由于开发和维护都是我一手把持,所以,如何让自己变得轻松一点,成了我绞尽脑汁尝试各种数据库设计方案的动力所在。不是我有自虐的嗜好,实在是忍受不了程序设计问题导致的数据不一致所带来的打击。写过数据库程序的人都知道,没有比数据不一致更让人痛苦的事了。
这张表显示张三某天请假被扣了全勤奖,可那张表上却死活找不到请假记录,找来签到本一核对,张三其实真的没有请假,新来的录入员小姑娘,录入了一条张三请假的错误记录,然后又自行删除了,可是电脑不愿意将扣掉的全勤奖补回来。我不思改程序,反出一条例,称此类“异常操作”应立即知会电脑部,不得擅做主张云云。
上个星期所有人都多上了一天班,最多的是李四,连加班在内,上了八天班,可所有日历上都没有星期八,费九牛二虎之力找到那段代码,发现一个循环初值应该为1,而不是0,导致所有的星期一都被重复计数,在表中被插入两次。幸亏负责打印表格的小伙子是个电脑爱好者,平日里喜欢向我问些电脑问题,被吹嘘得有点崇拜我,所以,在签字盖章前偷偷地告诉了我。不过,从此此君对我的教诲多持“三思”的态度,买来很多书一一求证,结果进步反而神速,后来甚至可以帮着我写程序了。
王五从甲部门调到了乙部门,在程序上执行“调动”操作,王五果然出现在乙部门的花名册中,一应资料齐全,省却人事小姐很多文案工作,获“多谢”数次,甚为得意。月底,人事小姐向主管汇报各部门人力资源状况,主管赫然发现公司多出一人,怒而斥之。查,原来王五的阴魂还在甲部门未散,人事小姐朝我翻了几下白眼,扔下一句“什么破程序,还不如我自己统计呢”,掩面而去。直到辞职离开,我再无脸面进人事部办公室,偶尔讨论需求,也只通过电话,或支使那个曾经崇拜我的候补程序员。
系统越做越大,问题越来越多,有些问题,靠坑蒙拐骗已经掩盖不住了,有段时间,我几乎成了千夫所指。我虽然脸皮锻炼得有点厚了,不过还没有厚到长不出胡子来的地步,所以,知耻而后勇,一有空,我就在我的准五星级宾馆里研究数据库的设计,看各种各样的书,做各种各样的设计,比较各种各样的方案,参加各种各样的讲座,慢慢地,一些设计原则在我的头脑中形成了,虽然很不清晰。
有了一些心得后,我很喜欢和别的程序员争论表格设计方案的优劣,有些设计,直觉告诉我会有问题,但我无法说出令人信服的理由,于是双方各执一词,脸红脖子粗,甚至不欢而散。当然,有些程序员记仇,但所有的程序员都不记这种仇,所以,三五天后,大家又会呼朋唤友物以类聚,一边吃着川菜一边继续脸红脖子粗。
程序员都视扞卫真理为己任,只要自己认定的事,没有权威的论断,谁也不服谁。一旦起争端,或固执如石头,对手的利箭全部弹回,或优柔似棉花,敌人的拳脚尽数落空。于是,所有的争论都没有结果,这对于我来说,是件折磨人的事。我是个极端理性的人,凡事喜欢弄个明白,一二三四,有条有理,对就是对,错就是错,容不得任何问题的答案在对与错的中间地带流落,像一个非坐非站的人,半蹲着马步立在那里,无法安定。交锋多次后,我知道,凭自己的修为无法肯定什么和否定什么,更谈不上说服任何人了。
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››数据库对象——存储过程
- ››db2诊断系列之---定位锁等待问题
- ››数据库设计词汇对照表
- ››db2 命令选项解释
- ››数据库大型应用解决方案总结
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
更多精彩
赞助商链接