1 / 5
文档名称:

数据库设计标准.doc

格式:doc   大小:17KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库设计标准.doc

上传人:qiang19840906 2021/4/5 文件大小:17 KB

下载得到文件列表

数据库设计标准.doc

文档介绍

文档介绍:一个好的数据库产品不等于就有一个好的应用系统,如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。一般来讲,在一个MIS系统分析、设计、测试和试运行阶段,因为数据量较小,设计人员和测试人员往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也不可避免的形成了一个打补丁工程。笔者依据多年来设计和使用数据库的经验,提出以下一些设计准则,供同仁们参考。
  命名的规范
  不同的数据库产品对对象的命名有不同的要求,因此,数据库中的各种对象的命名、后台程序的代码编写应采用大小写敏感的形式,各种对象命名长度不要超过30个字符,这样便于应用系统适应不同的数据库。
  游标(Cursor)的慎用
  游标提供了对特定集合中逐行扫描的手段,一般使用游标逐行遍历数据,根据取出的数据不同条件进行不同的操作。尤其对多表和大表定义的游标(大的数据集合)循环很容易使程序进入一个漫长的等特甚至死机,笔者对某市《住房公积金管理系统》进行日终帐户滚积数计息处理时,对一个10万个帐户的游标处理导致程序进入了一个无限期的等特(后经测算需48个小时才能完成)(硬件环境:Alpha/4000 128Mram,Sco Unix ,Sybase ),后根据不同的条件改成用不同的UPDATE语句得以在二十分钟之内完成。示例如下:
  Declare Mycursor cursor for select count_no from COUNT
  Open Mycursor
  Fetch Mycursor into ***@vcount_no
  While (@***@sqlstatus=0)
  Begin
  If ***@vcount_no=’’ 条件1
  操作1
  If ***@vcount_no=’’ 条件2
  操作2
  ……
  Fetch Mycursor into ***@vcount_no
  End
  ……
  ……
  改为
  Update COUNT set 操作1 for 条件1
  Update COUNT set 操作2 for 条件2
  ……
  ……
  在有些场合,有时也非得使用游标,此时也可考虑将符合条件的数据行转入临时表中,再对临时表定义游标进行操作,可时性能得到明显提高。笔者在某地市〈电信收费系统〉数据库后台程序设计中,对一个表(3万行中符合条件的30多行数据)进行游标操作(硬件环境:PC服务器,PII266 64Mram , Ms Sqlserver )。 示例如下:
  Create #tmp /* 定义临时表 */
  (字段1
  字段2
  ……
  )
  Insert into #tmp select * from TOTAL where
  条件 /* TOTAL中3万行 符合条件只有几十行 */
  Declare Mycursor cursor for select * from #tmp
  /*对临时表定义游标*/
  ……
  索引(Index)的使用原则
  创建