悟空-简单就好
.net企业级应用研究

考虑最复杂的情况
开发出最简单的实现


Word文档-资料管理系统!

导航

 

  摘要: 给大家提个醒,“数据库的机制”的重要性是保证数据正确的最后关卡,而不要图省事,完全依赖于程序的逻辑代码;必竟,你不能考虑到所有的可能情况,特别是大量并发的情况下;虽然出错的概率也许只有万分之一,但只要存在,迟早会发生。
数据库设计好了,很多事情自然水到渠成。
   

   做软件开发,特别是做数据维护的工程师,遇到最多的问题应都可归结为数据库的不一致性和完整性问题。多年的软件开发,看过很多SQL/Oracle/Access的数据库,包括台湾MES厂商、国内很多共享软件等,基本没有设置Key、FK,很多的软件连范式二都达不到;数据库的一致性和完整性往往是通过程序逻辑实现,必然在并发的情况下,在万分之一的可能情况下,发生数据的不一致性和完整性问题。

   分析过MS的CRM、RP、MOSS等专业性的软件,不难发现其在数据库设计方面逻辑的严密性。结合自己的经验,得出:业务逻辑是通过代码实现的,但是要通过“数据库的机制”来确保逻辑的正确性,而不能完全依赖于程序代码,必竟有很多的情况是程序软件中所无法预料的;只能通过“数据库机制”做最后的检查,NG时返回失败;而不是怕用户一时的抱怨,造成后期的排错和数据维护量。

   当然,使用“数据库机制”必然带来下述的影响:
 1、一定程度上影响性能
 2、增加程序开发的难度:符合“数据库的机制”的要求,必然要作更多的检查;否则可能造成无法新增和修改。所以,很多开发人员为了图简单和赶进度,当然是能省就省。再说了,走人后,出现的问题又不用自己来解决,关键是当前的问题能糊弄过去就万事大吉了。

  要允分使用“数据库机制”,至少是满足下述两者之一
  一是开发人员的自觉性,不能图省事;特别是架构师或数据库开发工程师
  二是Leader是要有这种意识,否则.....

  那么,这里的“数据库机制”指什么呢?不外是主键、外键、事务、唯一索引、范式、级联更新等

   经验表明,多数的应用程序问题都是围着数据库转;所以从事软件开发和开发管理人员,一定要学的是“数据库的设计艺术”这门必修课,才能事半功倍。

 欢迎大家就开发MES系统、电子采购系统、进销存系统、网站等的数据库架构、开发和维护进行交流。


相关链接:
数据库设计经验谈(转)

posted on 2007-02-13 10:09  新悟空  阅读(3510)  评论(16编辑  收藏  举报