数据库设计原则及技巧

上传人:pu****.1 文档编号:564161344 上传时间:2023-06-21 格式:DOCX 页数:7 大小:22.55KB
返回 下载 相关 举报
数据库设计原则及技巧_第1页
第1页 / 共7页
数据库设计原则及技巧_第2页
第2页 / 共7页
数据库设计原则及技巧_第3页
第3页 / 共7页
数据库设计原则及技巧_第4页
第4页 / 共7页
数据库设计原则及技巧_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《数据库设计原则及技巧》由会员分享,可在线阅读,更多相关《数据库设计原则及技巧(7页珍藏版)》请在金锄头文库上搜索。

1、数据库设计纲要:数据库是公司信息的中心,其应用水平的高低直接影响到公司管理 水平。选择了一个高性能的数据库产品不等于就有一个好的数据库应用系统, 假如 数据库系统设计不合理, 不仅会增添客户端和服务器端程序的编程和保护的难度,并且还会影 响系统实质运转的性能。主要波及数据库各样性能优化技术, 进而防止磁盘 I/O 瓶颈、 减少 CPU 利用率、大内存的设置和减少资源竞争。大型数据库的设计与开发要复杂得多,所以在设计、开发过程中, 除了要按照数据库范式理论、增添系统的一致性和完好性外, 还要在整体上依据详 细状况进行散布式设计, 紧紧掌握集中控制、一致审查的基来源则,保证数据库设计构造紧凑 散布

2、均衡、定位快速。数据库设计考虑工作一、 成立数据小组 大型数据库数据元素多, 在设计上有必需成立特意的数据小组。因为数据库设计者不一定是使用者,对系统设计中的数据元素不行能考虑周到, 数据库 设计出来后, 常常难以找到所需的库表,所以数据小组最好由熟习业务的项目骨干构成。数据小组的职能并不是是设计数据库, 而是经过需求剖析,在参 照其余相像系统的基础上,提取系统的基本数据元素,担负对数据库的审查。审查内容包含审 查新的数据库元素能否完好、可否实现所有业务需求;对旧数据库 (假如存在旧系统)的剖析及数据变换;数据库设计的审查、控制及 必需调整。、设计原则1. 规范命名。所有的库名、表名、域名一定

3、按照一致的命名规则, 并进行必需说明,以方便设计、保护、查问。2. 控制字段的引用。在设计时,能够选择适合的数据库设计管理 工具,以方便开发人员的散布式设计和数据小组的集中审查管理。采纳一致的命名规则,假 如设计的字段已经存在,可直接引用;不然,应从头设计。 (必免出现不一样地点的多义 项目字段,如 A 表分类,种类)3. 表重复控制。在设计过程中,假如发现大多半字段都已存在, 开发人员应思疑所设计的库表能否已存在。经过对字段所在库表及相应设计人员的查问, 能够确认库表能否的确重复。4. 必需的议论。数据库设计达成后,数据小组应与有关人员进行 议论,经过议论来熟习数据库,进而对设计中存在的问题

4、进行控制或从中获得数据库设计的 必需信息。三、设计技巧1分类拆分数据量大的表。1)(依据数据析分不一样表)关于常常使用的表(如某些参数表或代码比较表),由 于其使用频次很高,要尽量减少表中的记录数目。(分好主从关系表的关系)比如,银行的户主账 表本来设计成一张表,固然能够方便程序的设计与保护,但经过剖析发现,因为数据量太大,会影响数据的快速定位。 假如将户主账表分别设计为活期户主账、 按期户主账及对 公户主账等,则能够大大提升查问效率。(2)(数据库级的切割)发现某个表的记录太多,比如超出一千万条,则要对该表进 行水平切割。水平切割的做法是,以该表主键 PK 的某个值为界限,将该表的记录水平切

5、割 为两个表。若发现某个表的字段太多,比如超出八十个, 则垂直切割该表, 将本来的一个表 分解为两个表。2索引设计。 关于大的数据库表,合理的索引能够提升整个数据库的操作效率。在索引设 计中,索引字段应精选重复值较少的字段; 在对建有复合索引的字段进行检索时, 应注意按 照复合索引字段成立的次序进行。比如,假如对一个5万多条记录的流水表以日期和流水号为序成立复合索引, 因为在该表中日期的重复值靠近整个表的记录数, 用流水号进行查问所 用的时间靠近3秒; 而假如以流水号为索引字段成立索引进行同样的查问,所用时间不到1秒。所以在大型数据库设计中, 只有进行合理的索引字段选择, 才能有效提升整个数据

6、库 的操作效率。3防止长事务 。对单个大表的删除或插入操作会带来大事务,较好的解决方法是,把整个 事务分解成几个较小的事务,再由应用程序控制整个系统的流程。这样,假如此中某个事务不行功 则只要重做该事务,因此既可节俭时间,又可防止长事务。(可减少排它锁时间)4将SQL的中的计算放在数据库这办理,最后才入库增添到表,这是电信计费系统的设计。5必免采纳自增主键,不利数据的移植、及对业务主键不明而造成不易理解,增添开发难度及错 误率。6、SQL 的优化1、多线程并发接见数据库(归并 SQL:查问+更新,查问+增添的SQL)2、在使用面向数据的SQL语言进行程序设计时,尽量采纳优化算法。 distin

7、ct改写成Exist) (in语句改写成多个二式)鉴于第三范式的数据库表的基本设计,成立主键和索引的策略和方案,而后从数据库表的扩展设计 和库表对象的搁置等角度概括了数据库管理系统的优化方案。基本表的设计规范是第三范式(3NF)。第三范式的基本特点是非主键属性只依靠于主键属性。鉴 于第三范式的数据库表设计拥有好多长处:一是除去了冗余数据,节俭了磁盘储存空间;二是有优秀的数据完好性限制,即鉴于主外键的参照完好限制和鉴于主键的实体完好性 限制,这使得数据简单保护,也简单移植和更新;三是数据的可逆性好,在做连结(Join)查问或许归并表时不遗漏、也不重复;四是因除去了冗余数据(冗余列),在查问 (S

8、elect)时每个数据页存的数据行就多,这样就有效地减少了逻辑I/O,每个Cash存的页面就多,也减少物理I/O;五是对大多半事务(Transaction)而言,运转性能好;六是物理 设计(PhysicalDesign)的灵活性较大,能知足日趋增添的用户需求。主键(PrimaryKey):主键被用于复杂的SQL语句时,屡次地在数据接见中被用到。一个表只有一个主键。主键应当有固定Null或缺省值,要有相 ,值(不可以为对稳固性)不含代码信息,易接见。把常用的列作为主键才存心义。短主25bytes),键最正确(小于主键的长短影响索引的大小,索引的大小影响索引页的大小,I/O。主键分进而影响磁盘为自

9、然主键和人为主键。自然主键由实体的属性构成,自然主键能够是 复合性的,在形成复合主键时,主键列不可以太多,Join *作复杂化、也增添了外键 复合主键使得表的大小。人为主键是,在没有适合的自然属性键、或自然属性复杂或敏捷度高 时,人为形成的。人为主键一般是整型值(知足最小,没有实质意义,也稍微增添了化要求)表的大小;但减少了把它作为外键的表的大小。3外键(ForeignKey):外键的作用是成立关系型数据库中表之间的关 系(参照完好性)主键只好从独立的实体迁徙到非独立的实体,成为后者的一个属性, 被称为外键。索引(Index):利用索引优化系统性能是不言而喻的,对所有常用于查 问中的 Wher

10、e 子句的列和所实用于排序的列创立索引,能够防止整表扫描或 接见,在不改变表的物理构造的状况下,直接接见特定的数据列,这样减少据存取时间;利用索引能够优化或清除耗时的分类*作;把数据分别到 不一样的页面上,就分别了插入的数据;主键自动成立了独一索引,所以独 一索引也能保证数据的独一性(即实体完好性);索引码越小,定位就越直接; 新建的索引效能最好,所以按期更新索引特别必需。索引也有代价:有空间 开支,成立它也要花销时间,在进行Insert、Delete和Update *作时,也 有保护代价。索引有两种:聚族索引和非聚族索引。一个表只好有一个聚族 索引,可有多个非聚族索引。使用聚族索引查问数据要

11、比使用非聚族索引快。在 建索引前,应利用数据库系统函数估量索引的大小。7. 锁:锁是并行办理的重要体制,能保持数据并发的一致性,即按事务进行办 理;系统利用锁,保证数据完好性。所以,我们防止不了死锁,但在设计时能够充足 考虑怎样防止长事务,减少排它锁时间,减少在事务中与用户的交互,根绝让用户控 制事务的长短;要防止批量数据同时履行,特别是耗8. 时并用到同样的数据表。锁的征用:一个表同时只好有一个排它锁,一个用9. 户用时,其余用户在等候。若用户数增添,则 Server 的性能降落,出现 “假死”现象。怎样防止死锁呢?从页级锁到行级锁,减少了锁征用;给小表增添无 效记录,从页级锁到行级锁没有影

12、响,若在同一页内竞争有影响,可选择10. 适合的聚族索引把数据分派到不一样的页面;创立冗余表;保持事务简洁; 同一批办理应当没有网络交互。11. 查问优化规则12. 尽可能少的行;13. 防止排序或为尽可能少的行排序,若要做大批数据排序,最好将有关数据 放在暂时表中*作;用简单的键(列)排序,如整型或短字符串排序;14. 防止表内的有关子查问;15. 防止在 Where 子句中使用复杂的表达式或非开端的子字符串、用长字符串 通接;16. 在Where子句中多使用“与”(And)连结,少使用“或”(Or)连结;17. 利用暂时数据库。在查问多表、有多个连结、查问复杂、数据要过滤时, 能够建暂时表(索引)以减少I/O。但弊端是增添了空间开支。18. 切割表分为水平切割表和垂直切割表两种

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号