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

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


多种方式,帮你快速找到文档(知识点)!

   企业级应用软件一般都离不开“数据源”,其中又以关系数据库为多。随着基础软件平台,如工作流组件,中件间等的不断发展,使得企业级软件的开发重点落在了“数据库”的设计。结合自己在MES系统软件、ERP软件、进销存软件和电子采购平台的实践,总结出一些“数据库表设计”的模板,供大家参考和讨论完善。

   数据库设计的核心问题是保证信息的准确和安全、高效查询、适应变化能力强等,实现此目标的基础是设计良好的表和表集进行实体信息收集,允分发挥某一数据库平台的特点;在专业的软件开发项目中,会有此“数据库后台设计人员”一职。好的数据库设计,是不离开好的前台软件、中间业务逻辑组件等来共同搭配的,主要包括三方面的内容:

一、要考虑的一些事项
  1、数据库版本应和程序内置的版本一致,否则客户端会启用数据库升级程序或提示等   
  2、!要求数据库要能向下兼容,即高版本的数据库能用低版本的程序打开并正常使用!   
  3、要预留一定数量的字段备用        
  4、一个表的最多字段数以25个为限;模板缺省有12个字段行,至少请保留空一行。   
  5、表的数据编辑(新增、修改或删除等):区分数据库端人工直接维护、数据库端自动维护和程序维护及相关的不同的应用程序的协作关系,使用MindMap进行分析      
  6、对“系统规格限制”应在备注中标出,例“Access数据库对密码的长度限制为14个字符”。关于“规格”应另单独列出

二、表的数据编辑
  1、数据库端人工直接维护:系统内置部分使用人工维护     
  2、数据库端自动维护:如用SQL2005的Job来进行数据同步等    
  3、外部程序维护:即应用程序 

三、模板的主要内容
  1、字段英文名称
  2、字段中文名称
  3、用途:预期的目的
  4、取值:如值的列表、值的范围限制等及其表示的含义
  5、PK/FK 
  6、数据类型 
  7、Null 
  8、默认值 
  9、客户端:主要针对有脱机(离线)功能的应用系统 
  10、服务器端 
  11、备注 
  12、最后修改者 
  13、修改日期 
  14、修改备注

四、常用的字段(2006-11-09补充)
  1、ID:满足范式要求最常用做法 
  2、CreateByID :追踪信息 
  3、CreationDate 
  4、ModifiedByID 
  5、ModifiedDate 
  6、RowVersion:并行编辑控制等
  7、State:如删除状态等标识,可采用二进制取值(1、2、4)等,可表示混合状态

*另外要包含表的修改历史(在系统正式上线后维护)

样例下载:数据库表设计模板

***作者联系:fjwuyongzhi@gmail.com
***推荐大家使用MindMap来进行软件开发,将开发思想理清、理顺等!

posted on 2006-11-08 09:01 针式个人知识库管理 阅读(4226) 评论(7)  编辑 收藏
Comments
  • 蛙蛙池塘      
    Posted @ 2006-11-08 09:11
    不懂   回复  引用  查看    
  • #2楼 
    Clark Chen      
    Posted @ 2006-11-08 09:28
    懂,慢慢完善。数据库确是很重要!!部分思路,我的数据库也有实现,如:
    Deep
    ParentID
    CreateByID
    CreationDate
    ModifiedByID
    ModifiedDate
    不过使用目的好像不同   回复  引用  查看    
  • #3楼 [楼主]
          
    Posted @ 2006-11-08 09:33
    个人认为一个软件工程师最重要的三项技能是系统架构能力、类层次设计能力和数据库设计能力。系统架构能力统合“类层次设计能力”和“数据库设计能力”。
    所以,如果贵公司如果没有专职的数据库开发人员,自己一定要让这“三架马车”并进发展!定能不断开发出好的软件的。   回复  引用  查看    
  • #4楼 [楼主]
          
    Posted @ 2006-11-08 09:37
    ID:满足范式要求最常用做法
    CreateByID :追踪信息
    CreationDate
    ModifiedByID
    ModifiedDate
    RowVersion:并行编辑控制等
    一般是每张表必备的。道理是在实践中加以体会的

      回复  引用  查看    
  • #5楼 
    绿野人[匿名]      
    Posted @ 2006-11-08 10:48
    有时候再加一个状态也不错呀.State.   回复  引用  查看    
  • #6楼 
    这个不错      
    Posted @ 2006-11-09 15:50
    试验下   回复  引用  查看    
  • #7楼 
    XiaoShan      
    Posted @ 2006-11-10 00:06
    收藏.
    和微软的Team Foundation里边的一个表结构差不多.
    是存放Area 和 Iteration树的那张表.
      回复  引用  查看    

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-11-09 08:45 编辑过
 
历史上的今天:

另存  打印