育路网学员服务电话:021-64691126

计算机等级考三级数据库设计经验谈1:设计数据库之前[1]

作者:  发布时间:2015-08-14  来源:互联网

  【网络综合 - 计算机等级考试

  一个成功的管理系统,是由:[50% 的业务 + 50% 的软件] 所组成,而 50% 的成功软件又有 [25% 的数据库 + 25% 的程序] 所组成,数据库设计的好坏是一个关键。如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。有关数据库设计的材料汗牛充栋,大学学位课程里也有专门的讲述。不过,就如我们反复强调的那样,再好的老师也比不过经验的教诲。所以我归纳历年来所走的弯路及体会,并在网上找了些对数据库设计颇有造诣的专业人士给大家传授一些设计数据库的技巧和经验。精选了其中的 60 个最佳技巧,并把这些技巧编写成了本文,为了方便索引其内容划分为 5 个部分:

  第 1 部分 - 设计数据库之前

  这一部分罗列了 12 个基本技巧,包括命名规范和明确业务需求等。

  第 2 部分 - 设计数据库表

  总共 24 个指南性技巧,涵盖表内字段设计以及应该避免的常见问题等。

  第 3 部分 - 选择键

  怎么选择键呢?这里有 10 个技巧专门涉及系统生成的主键的正确用法,还有何 时以及如何索引字段以获得最佳性能等。

  第 4 部分 - 保证数据完整性

  讨论如何保持数据库的清晰和健壮,如何把有害数据降低到最小程度。

  第 5 部分 - 各种小技巧

  不包括在以上 4 个部分中的其他技巧,五花八门,有了它们希望你的数据库开发工作会更轻松一些。

  第 1 部分 - 设计数据库之前

  考察现有环境

  在设计一个新数据库时,你不但应该仔细研究业务需求而且还要考察现有的系统。大多数数据库项目都不是从头开始建立的;通常,机构内总会存在用来满足特定需求的现有系统(可能没有实现自动计算)。显然,现有系统并不完美,否则你就不必再建立新系统了。但是对旧系统的研究可以让你发现一些可能会忽略的细微问题。一般来说,考察现有系统对你绝对有好处。

  定义标准的对象命名规范

  一定要定义数据库对象的命名规范。对数据库表来说,从项目一开始就要确定表名是采用复数还是单数形式。此外还要给表的别名定义简单规则(比方说,如果表名是一个单词,别名就取单词的前 4 个字母;如果表名是两个单词,就各取两个单词的前两个字母组成 4 个字母长的别名;如果表的名字由 3 个单词组成,你不妨从头两个单词中各取一个然后从最后一个单词中再取出两个字母,结果还是组成 4 字母长的别名,其余依次类推)对工作用表来说,表名可以加上前缀 work_ 后面附上采用该表的应用程序的名字。表内的列[字段]要针对键采用一整套设计规则。比如,如果键是数字类型,你可以用 _n 作为后缀;如果是字符类型则可以采用 _c 后缀。对列[字段]名应该采用标准的前缀和后缀。再如,假如你的表里有好多“money”字段,你不妨给每个列[字段]增加一个 _m 后缀。还有,日期列[字段]最好以 d_ 作为名字打头。

  检查表名、报表名和查询名之间的命名规范。你可能会很快就被这些不同的数据库要素的名称搞糊涂了。假如你坚持统一地命名这些数据库的不同组成部分,至少你应该在这些对象名字的开头用 table、query 或者 report 等前缀加以区别。

  如果采用了 microsoft access,你可以用 qry、rpt、tbl 和 mod 等符号来标识对象(比如 tbl_employees)。我在和 sql server 打交道的时候还用过 tbl 来索引表,但我用 sp_company (现在用 sp_feft_)标识存储过程,因为在有的时候如果我发现了更好的处理办法往往会保存好几个拷贝。我在实现 sql server 2000 时用 udf_ (或者类似的标记)标识我编写的函数。

  工欲善其事, 必先利其器

  采用理想的数据库设计工具,比如:sybase 公司的 powerdesign,她支持 pb、vb、delphe 等语言,通过 odbc 可以连接市面上流行的 30 多个数据库,包括 dbase、foxpro、vfp、sql server 等,今后有机会我将着重介绍 powerdesign 的使用。

  获取数据模式资源手册

  正在寻求示例模式的人可以阅读《数据模式资源手册》一书,该书由 len silverston、w. h. inmon 和 kent graziano 编写,是一本值得拥有的最佳数据建模图书。该书包括的章节涵盖多种数据领域,比如人员、机构和工作效能等。其他的你还可以参考相关书籍。

  畅想未来,但不可忘了过去的教训

  我发现询问用户如何看待未来需求变化非常有用。这样做可以达到两个

更多

更多上海计算机信息请访问:上海计算机培训网
上海计算机培训咨询电话:021-51602254
课程搜索:
免责声明
① 由于各方面情况不断调整与变化,育路网所提供的所有考试信息仅供参考,请考生以权威部门公布的正式信息为准。
② 本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着 赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。
③ 凡本站注明“稿件来源:上海育路网”的所有文字、图片和音视频稿件,版权均属本网所有,任何媒体、网站或个 人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本站协议授权的媒体、网站,在下载使用时必 须注明“稿件来源:上海育路网”,违者本站将依法追究责任。
论坛话题
关于育路 | 企业理念 | 诚聘英才 | 商务合作 | 网站声明
全国免费热线:400-631-6616、021-51860462 邮箱:sh_yuloo#163.com (发送邮件时请将#换成@)
@2006-2016上海育路网络科技有限公司版权所有
网站备案:京ICP备10025267号-13 | 京公网安备110108904040号
友荐云推荐