欢迎来到天天文库
浏览记录
ID:39212811
大小:21.68 KB
页数:4页
时间:2019-06-27
《数据库完整的设计原则与技巧》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据库宝典概要:数据库是企业信息的核心,其应用水平的高低直接影响到企业管理水平。选择了一个高性能的数据库产品不等于就有一个好的数据库应用系统,如果数据库系统设计不合理,不仅会增加客户端和服务器端程序的编程和维护的难度,而且还会影响系统实际运行的性能。主要涉及数据库各种性能优化技术,从而避免磁盘I/O瓶颈、减少CPU利用率、大内存的设置和减少资源竞争。大型数据库的设计与开发要复杂得多,因此在设计、开发过程中,除了要遵循数据库范式理论、增加系统的一致性和完整性外,还要在总体上根据具体情况进行分布式设计,紧紧把握集中控制、统一审核的基本原则
2、,保证数据库设计结构紧凑、分布平衡、定位迅速。数据库设计考虑工作一、成立数据小组大型数据库数据元素多,在设计上有必要成立专门的数据小组。由于数据库设计者不一定是使用者,对系统设计中的数据元素不可能考虑周全,数据库设计出来后,往往难以找到所需的库表,因此数据小组最好由熟悉业务的项目骨干组成。数据小组的职能并非是设计数据库,而是通过需求分析,在参考其他相似系统的基础上,提取系统的基本数据元素,担负对数据库的审核。审核内容包括审核新的数据库元素是否完全、能否实现全部业务需求;对旧数据库(如果存在旧系统)的分析及数据转换;数据库设计的审核、控
3、制及必要调整。二、设计原则1.规范命名。所有的库名、表名、域名必须遵循统一的命名规则,并进行必要说明,以方便设计、维护、查询。2.控制字段的引用。在设计时,可以选择适当的数据库设计管理工具,以方便开发人员的分布式设计和数据小组的集中审核管理。采用统一的命名规则,如果设计的字段已经存在,可直接引用;否则,应重新设计。3.库表重复控制。在设计过程中,如果发现大部分字段都已存在,开发人员应怀疑所设计的库表是否已存在。通过对字段所在库表及相应设计人员的查询,可以确认库表是否确实重复。4.并发控制。设计中应进行并发控制,即对于同一个库表,在同一
4、时间只有一个人有控制权,其他人只能进行查询。5.必要的讨论。数据库设计完成后,数据小组应与相关人员进行讨论,通过讨论来熟悉数据库,从而对设计中存在的问题进行控制或从中获取数据库设计的必要信息。6.数据小组的审核。库表的定版、修改最终都要通过数据小组的审核,以保证符合必要的要求。7.头文件处理。每次数据修改后,数据小组要对相应的头文件进行修改(可由管理软件自动完成),并通知相关的开发人员,以便进行相应的程序修改。三、设计技巧(注:以下例如都是从网络上查到的例子,有可能不恰当,请指出改正)1.分类拆分数据量大的表。对于经常使用的表(如某些
5、参数表或代码对照表),由于其使用频率很高,要尽量减少表中的记录数量。(分好主从关系表的关系)例如,银行的户主账表原来设计成一张表,虽然可以方便程序的设计与维护,但经过分析发现,由于数据量太大,会影响数据的迅速定位。如果将户主账表分别设计为活期户主账、定期户主账及对公户主账等,则可以大大提高查询效率。2.索引设计。对于大的数据库表,合理的索引能够提高整个数据库的操作效率。在索引设计中,索引字段应挑选重复值较少的字段;在对建有复合索引的字段进行检索时,应注意按照复合索引字段建立的顺序进行。例如,如果对一个5万多条记录的流水表以日期和流水号
6、为序建立复合索引,由于在该表中日期的重复值接近整个表的记录数,用流水号进行查询所用的时间接近3秒;而如果以流水号为索引字段建立索引进行相同的查询,所用时间不到1秒。因此在大型数据库设计中,只有进行合理的索引字段选择,才能有效提高整个数据库的操作效率。3.数据操作的优化。在大型数据库中,如何提高数据操作效率值得关注。将单元业务尽量一次提交执行,减少提交次数,这样减少了I/O操作。建议用ORM框架,个人建议用微软的EF4.1(linqtoentity)。4.必要的工具。在整个数据库的开发与设计过程中,可以先开发一些小的应用工具,如自动生成
7、库表的头文件、插入数据的初始化、数据插入的函数封装、错误跟踪或自动显示等,以此提高数据库的设计与开发效率。(自己开发了一部分工具)5.避免长事务。对单个大表的删除或插入操作会带来大事务,较好的解决方法是,把整个事务分解成几个较小的事务,再由应用程序控制整个系统的流程。这样,如果其中某个事务不成功,则只需重做该事务,因而既可节约时间,又可避免长事务。6.适当超前。计算机技术发展日新月异,数据库的设计必须具有一定前瞻性,不但要满足当前的应用要求,还要考虑未来的业务发展,同时必须有利于扩展或增加应用系统的处理功能。数据库设计概要:基于第三范
8、式的数据库表的基本设计,建立主键和索引的策略和方案,然后从数据库表的扩展设计和库表对象的放置等角度概述了数据库管理系统的优化方案。1.基本表的设计规范是第三范式(3NF)。第三范式的基本特征是非主键属性只依赖于主键属性。
此文档下载收益归作者所有