资源预览内容
第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
第9页 / 共25页
第10页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
关系型数据库设计规范目录文档类别使用对象41.概述述51.1 简简介51.2 术术语定义义51.3 参参考资料料51.4 版版本更新新记录52数据库库设计的的目标63.数据据库的特特征63.1完整整性约束束63.1.11nott nuull约约束73.1.22缺省值值73.1.33uniiquee约束73.1.44priimarry kkey约约束73.1.55参照完完整性约约束83.1.66cheeck约约束83.2存存储过程程83.3触触发器93.4事事务处理理93.4.33事务与与一致性性103.4.44事务和和恢复103.5并并发处理理103.5.33死锁113.5.44读一致致性113.6序序号生成成器113.7视视图113.7.33安全性性123.7.44逻辑数数据独立立性124.调整整数据库库设计以以提高系系统性能能134.1建建立有用用的性能能标准134.2数数据库的的规范化化134.3通通过非规规范化设设计提高高数据库库的效率率134.3.33非规范范化的原原因134.3.44非规范范化技术术144.3.55进行非非规范化化处理时时的注意意事项144.4表表的大小小154.4.33表是否否过小154.4.44表是否否过大154.4.55如何减减小表的的尺寸154.5记记录的大大小154.5.33列有最最佳的位位置吗154.5.44存在最最佳的记记录大小小吗154.5.55记录是是否过小小154.5.66记录是是否过大大154.5.77如何减减小记录录164.5.88总结165.其它它16文档类别使使用对象象文档类别该文档是通通用软件件公司的的关系型型数据库库的设计计规范,是是技术文文档。使用对象该文档使用用人员包包括: 开发本部总总经理 各产品部、事事业部的的经理、项项目经理理、设计计人员 软件中心负负责人、设设计人员员 公司总经理理1. 概述1.1 简简介本文档总结结了公司司进行多多年来的的SYBBASEE数据库库设计经经验,目目的将公公司进行行数据库库设计的的经验积积累下来来,实现现设计经经验的复复用,为为项目评评审与项项目质量量保证提提供进行行检查的的依据。本规范从数数据库设设计的目目的、数数据库的的各个特特征、数数据库的的规范化化等各个个方面进进行论述述,对进进行SYYBASSE数据据库的设设计提供供了很好好的依据据。1.2 术术语定义义1.3 参参考资料料Poweerbuuildder开开发设计计中的数数据库设设计晓晓通数据据库研究究与发展展中心公公司1.4 版版本更新新记录版本/修订订版日期修改记录备注1.010/100/99初始版本2数据库库设计的的目标 好好的数据据库物理理设计应应当充分分考虑应应用的需需求和开开发工具具的特征征,应当当充分利利用和挖挖掘数据据库的功功能。一一流的数数据库设设计会给给整个应应用系统统带来以以下的好好处: 维护容易。当当需求发发生变化化时,优优良的数数据库设设计会使使应用系系统容易易地适应应这种变变化。 编程简单。由由于数据据库设计计充分挖挖掘了数数据库的的功能,所所以应用用程序的的复杂度度可以明明显降低低。 加快开发速速度。因因为数据据库设计计充分地地考虑了了需求和和开发工工具的特特征,所所以开发发人员会会感到左左右逢源源,得心心应手,从从而可以以加快开开发速度度。 系统具有良良好的整整体运行行效率。3. 数据库的特特征 完整性约束束。完整整性约束束允许在在表上定定义某种种约束条条件,这这些条件件作为表表定义的的一部分分存在,从从而强制制表中的的数据满满足一定定的规则则。 存储过程。存存储过程程是由流流控制语语句(iifelsse)和和SQLL语句书书写的过过程,这这个过程程经过编编译和优优化后存存储在数数据库服服务器中中,使用用时只要要调用即即可。 触发器。触触发器是是一种特特殊的存存储过程程,不同同的是这这种过程程不是由由程序调调用来执执行,而而是通过过数据库库数据的的更新自自动地“触发”执行。 事务处理:事务是是最小的的逻辑工工作单元元,在这这个单元元中对数数据库所所有的更更新要么么全成功功要么全全失败。 并发处理。允允许用户户在没有有冲突的的情况下下更新表表中不同同的行。行行级锁和和页级锁锁对联机机事务处处理非常常有用。 序号生成器器。数据据库可以以自动生生成连续续的序号号供应用用程序使使用。 遵守工业标标准的SSQL。 视图。视图图是原始始数据库库表的变变换,可可给应用用程序带带来安全全性、简简单性和和独立性性。 分布处理。数数据可以以分布在在网络的的多个点点上,数数据本身身支持分分布查询询和分布布修改。 数据复制。数数据可以以在网络络的多个个数据库库点相互互复制。3.1完整整性约束束完整性约束束是数据据库用于于维护数数据库完完整性的的一种机机制。这这种约束束是表定定义的一一部分,是是内部的的。与在在应用程程序中维维护数据据库的完完整性不不同,它它的代价价小而且且性能高高。完整性约束束有以下下两点作作用:1. 使企业的规规则与数数据库联联系起来来。2. 防止操作员员或终端端用户输输入错误误的数据据,破坏坏数据库库的完整整性。完整性约束束有以下下几种:l not nnulll约束缺省值l uniquue约束束l primaary keyy约束l foreiign keyy约束l checkk约束3.1.11nott nuull约约束not nnulll的含义义是列中中不能有有空值。nnot nulll在创创建表时时定义。not nnulll约束限限定了列列中必须须有值,但但不能限限定列中中可以有有什么值值,因此此它常常常与其它它的约束束配合使使用。3.1.22缺省值值缺省值是在在数据录录入时,若若用户没没有输入入数据,数数据库自自动输入入的值。下下面是定定义缺省省时应注注意的一一些事项项:要确保列宽宽对缺省省值来说说足够大大。要注意缺省省值与规规则间的的冲突,确确保缺省省值为规规则所允允许,否否则,缺缺省值会会被规则则忽略掉掉。3.1.3 uniquue约束束唯一列是这这样的列列,它的的值不能能在表中中重复出出现。注注意,唯唯一列与与主键不不同,主主键可用用来唯一一地标识识表中的的一行(不不能有空空值),而而唯一列列仅仅表表示该列列的值不不能在表表中重复复出现(可可以有空空值)。可以在一个个列上定定义唯一一列,也也可以在在表上定定义唯一一列,也也可以在在表上对对多个列列定义唯唯一列。3.1.4 primaary keyy约束每个表中都都应有主主键,主主键唯一一标识表表中的行行。选择择主键应应注意以以下几点点:l 选择数据是是唯一的的列。l 选择数据值值不会改改变的列列。主键键的目的的是唯一一地标识识一行,不不含有用用于其它它目的的的数据,选选择一般般不需要要改变主主键值的的列。l 选择不含有有空值的的列。根根据定义义,主键键列不允允许输入入空值。l 选择短的和和数值型型的列。l 避免选择联联合主键键。虽然然允许联联合主键键,但很很难满足足以上四四点要求求。3.1.5 参照完整性性约束参照完整性性约束用用来约束束两个表表间的关关系。1. 空值和外部部键对于缺省(无无nott nuull或或cheeck语语句)的的情况,外外部键约约束为组组合外部部键实施施“无匹配配”规则。通通过使用用cheeck和和nott nuull也也可使用用全部或或部分规规则:l 在组合外部部键中实实施全匹匹配规则则,要求求键的全全部要么么都为空空要么都都不为空空。l 在一般情况况下,不不能使用用参照完完整性在在组合键键中实施施部分匹匹配规则则。部分分匹配规规则要求求键的非非空部分分出现在在引用表表的主键键的对应应部分上上,这种种情况一一般要用用触发器器来处理理。2. 父表和子表表的关系系父表和子表表的关系系决定于于在子表表的外部部键上定定义的其其它类型型的完整整性约束束。l 在外部键上上没有约约束。l 在外部键上上有非空空约束。l 在外部键上上有unniquue约束束。l 在外部键上上有unniquue和nnot nulll约束束。3.1.6 checkk约束当需要根据据逻辑表表达式来来限定列列的值域域时,可可以用cchecck完整整性约束束。chheckk约束的的写法和和wheere子子句的写写法一样样,但它它有如下下的限制制:l 条件必须是是能够利利用更新新行中的的值来求求值的表表达式。l 条件中不能能有子查查询或序序号。l 条件中不能能含有函函数。l 条件中不能能含有伪伪列。3.2 存储过程存储过程是是由流控控制和SSQL语语句书写写的过程程,这个个过程经经编译和和优化后后存储在在数据库库服务器器中,使使用时只只要调用用即可。使用存储过过程有以以下优点点:l 存储过程的的能力大大大增强强了SQQL语言言的功能能和灵活活性。存存储过程程可以用用流控制制语句编编写,有有很强的的灵活性性,可以以完成复复杂的判判断和较较复杂的的运算。l 可保证数据据的安全全性和完完整性。 通过存储过过程可以以使没有有权限的的用户在在控制之之下间接接地寸取取数据库库,从而而保证数数据的安安全。 通过存储过过程可以以使相关关的动作作在一起起发生,从从而可以以维护数数据库的的完整性性。l 在运行存储储过程前前,数据据库已对对其进行行了语法法和句法法分析,并并给出了了优化执执行方案案。这种种已经编编译好的的过程可可极大地地改善SSQL语语句的性性能。由由于执行行SQLL语句的的大部分分工作已已经完成成,所以以存储过过程能以以极快的的速度执执行。l 可以降低网网络的通通信量。l 使体现企业业规则的的运算程程序放入入数据库库服务器器中,以以便: 集中控制。 当企业规则则发生变变化时在在服务器器中改变变存储过过程即可可,无须须修改任任何应用用程序。3.3 触发器触发器是一一种特殊殊的存储储过程,它它在插入入、删除除或修改改特定表表中的数数据时触触发执行行,它比比数据库库本身标标准的功功能有更更精细和和更复杂杂的数据据控制能能力。数数据库触触发器有有以下的的作用:l 安全性。可可以基于于数据库库的值使使用户具具有操作作数据库库的某种种权利。 可以基于时时间限制制用户的的操作。 可以基于数数据库中中的数据据限制用用户的操操作。l 审计。可以以跟踪用用户对数数据库的的操作。 审计用户操操作数据据库的语语句。 把用户对数数据库的的更新写写入审计计表。l 实现复杂的的数据完完整性规规则。 实现非标准准的数据据完整性性检查和和约束。触触发器可可产生比比规则更更复杂的的限制。与与规则不不同,触触发器可可以引用用列或数数据库对对象。 提供可变的的缺省值值。l 实现复杂的的非标准准的数据据库相关关完整性性规则。触触发器可可以对数数据库中中相关的的表进行行连环更更
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号