数据库设计规范样本.doc
《数据库设计规范样本.doc》由会员分享,可在线阅读,更多相关《数据库设计规范样本.doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关系型数据库设计规范目录文档类别使用对象41.概述51.1 介绍51.2 术语定义51.3 参考资料51.4 版本更新统计52数据库设计目标63.数据库特征63.1完整性约束63.1.1not null约束73.1.2缺省值73.1.3unique约束73.1.4primary key约束73.1.5参考完整性约束83.1.6check约束83.2存放过程83.3触发器93.4事务处理93.4.3事务和一致性103.4.4事务和恢复103.5并发处理103.5.3死锁113.5.4读一致性113.6序号生成器113.7视图113.7.3安全性123.7.4逻辑数据独立性124.调整数据库设计以
2、提升系统性能134.1建立有用性能标准134.2数据库规范化134.3经过非规范化设计提升数据库效率134.3.3非规范化原因134.3.4非规范化技术144.3.5进行非规范化处理时注意事项144.4表大小154.4.3表是否过小154.4.4表是否过大154.4.5怎样减小表尺寸154.5统计大小154.5.3列有最好位置吗154.5.4存在最好统计大小吗154.5.5统计是否过小154.5.6统计是否过大154.5.7怎样减小统计164.5.8总结165.其它16文档类别使用对象文档类别该文档是通用软件企业关系型数据库设计规范,是技术文档。使用对象该文档使用人员包含: 开发本部总经理 各
3、产品部、事业部经理、项目经理、设计人员 软件中心责任人、设计人员 企业总经理1. 概述1.1 介绍本文档总结了企业进行多年来SYBASE数据库设计经验,目标将企业进行数据库设计经验积累下来,实现设计经验复用,为项目评审和项目质量确保提供进行检验依据。本规范从数据库设计目标、数据库各个特征、数据库规范化等各个方面进行叙述,对进行SYBASE数据库设计提供了很好依据。1.2 术语定义1.3 参考资料Powerbuilder开发设计中数据库设计晓通数据库研究和发展中心企业1.4 版本更新统计版本/修订版日期修改统计备注1.010/10/99初始版本2数据库设计目标 好数据库物理设计应该充足考虑应用需
4、求和开发工具特征,应该充足利用和挖掘数据库功效。一流数据库设计会给整个应用系统带来以下好处: 维护轻易。当需求发生改变时,优良数据库设计会使应用系统轻易地适应这种改变。 编程简单。因为数据库设计充足挖掘了数据库功效,所以应用程序复杂度能够显著降低。 加紧开发速度。因为数据库设计充足地考虑了需求和开发工具特征,所以开发人员会感到左右逢源,得心应手,从而能够加紧开发速度。 系统含有良好整体运行效率。3. 数据库特征 完整性约束。完整性约束许可在表上定义某种约束条件,这些条件作为表定义一部分存在,从而强制表中数据满足一定规则。 存放过程。存放过程是由流控制语句(ifelse)和SQL语句书写过程,这
5、个过程经过编译和优化后存放在数据库服务器中,使用时只要调用即可。 触发器。触发器是一个特殊存放过程,不一样是这种过程不是由程序调用来实施,而是经过数据库数据更新自动地“触发”实施。 事务处理:事务是最小逻辑工作单元,在这个单元中对数据库全部更新要么全成功要么全失败。 并发处理。许可用户在没有冲突情况下更新表中不一样行。行级锁和页级锁对联机事务处理很有用。 序号生成器。数据库能够自动生成连续序号供给用程序使用。 遵守工业标准SQL。 视图。视图是原始数据库表变换,可给应用程序带来安全性、简单性和独立性。 分布处理。数据能够分布在网络多个点上,数据本身支持分布查询和分布修改。 数据复制。数据能够在
6、网络多个数据库点相互复制。3.1完整性约束完整性约束是数据库用于维护数据库完整性一个机制。这种约束是表定义一部分,是内部。和在应用程序中维护数据库完整性不一样,它代价小而且性能高。完整性约束有以下两点作用:1. 使企业规则和数据库联络起来。2. 预防操作员或终端用户输入错误数据,破坏数据库完整性。完整性约束有以下多个:l not null约束缺省值l unique约束l primary key约束l foreign key约束l check约束3.1.1not null约束not null含义是列中不能有空值。not null在创建表时定义。not null约束限定了列中必需有值,但不能限定列
7、中能够有什么值,所以它常常和其它约束配合使用。3.1.2缺省值缺省值是在数据录入时,若用户没有输入数据,数据库自动输入值。下面是定义缺省时应注意部分事项:要确保列宽对缺省值来说足够大。要注意缺省值和规则间冲突,确保缺省值为规则所许可,不然,缺省值会被规则忽略掉。3.1.3 unique约束唯一列是这么列,它值不能在表中反复出现。注意,唯一列和主键不一样,主键可用来唯一地标识表中一行(不能有空值),而唯一列仅仅表示该列值不能在表中反复出现(能够有空值)。能够在一个列上定义唯一列,也能够在表上定义唯一列,也能够在表上对多个列定义唯一列。3.1.4 primary key约束每个表中全部应有主键,主
8、键唯一标识表中行。选择主键应注意以下几点:l 选择数据是唯一列。l 选择数据值不会改变列。主键目标是唯一地标识一行,不含有用于其它目标数据,选择通常不需要改变主键值列。l 选择不含有空值列。依据定义,主键列不许可输入空值。l 选择短和数值型列。l 避免选择联合主键。即使许可联合主键,但极难满足以上四点要求。3.1.5 参考完整性约束参考完整性约束用来约束两个表间关系。1. 空值和外部键对于缺省(无not null或check语句)情况,外部键约束为组合外部键实施“无匹配”规则。经过使用check和not null也可使用全部或部分规则:l 在组合外部键中实施全匹配规则,要求键全部要么全部为空要
9、么全部不为空。l 在通常情况下,不能使用参考完整性在组合键中实施部分匹配规则。部分匹配规则要求键非空部分出现在引用表主键对应部分上,这种情况通常要用触发器来处理。2. 父表和子表关系父表和子表关系决定于在子表外部键上定义其它类型完整性约束。l 在外部键上没有约束。l 在外部键上有非空约束。l 在外部键上有unique约束。l 在外部键上有unique和not null约束。3.1.6 check约束当需要依据逻辑表示式来限定列值域时,能够用check完整性约束。check约束写法和where子句写法一样,但它有以下限制:l 条件必需是能够利用更新行中值来求值表示式。l 条件中不能有子查询或序号
10、。l 条件中不能含有函数。l 条件中不能含有伪列。3.2 存放过程存放过程是由流控制和SQL语句书写过程,这个过程经编译和优化后存放在数据库服务器中,使用时只要调用即可。使用存放过程有以下优点:l 存放过程能力大大增强了SQL语言功效和灵活性。存放过程能够用流控制语句编写,有很强灵活性,能够完成复杂判定和较复杂运算。l 可确保数据安全性和完整性。 经过存放过程能够使没有权限用户在控制之下间接地寸取数据库,从而确保数据安全。 经过存放过程能够使相关动作在一起发生,从而能够维护数据库完整性。l 在运行存放过程前,数据库已对其进行了语法和句法分析,并给出了优化实施方案。这种已经编译好过程可极大地改善
11、SQL语句性能。因为实施SQL语句大部分工作已经完成,所以存放过程能以极快速度实施。l 能够降低网络通信量。l 使表现企业规则运算程序放入数据库服务器中,方便: 集中控制。 当企业规则发生改变时在服务器中改变存放过程即可,无须修改任何应用程序。3.3 触发器触发器是一个特殊存放过程,它在插入、删除或修改特定表中数据时触发实施,它比数据库本身标准功效有更精细和更复杂数据控制能力。数据库触发器有以下作用:l 安全性。能够基于数据库值使用户含有操作数据库某种权利。 能够基于时间限制用户操作。 能够基于数据库中数据限制用户操作。l 审计。能够跟踪用户对数据库操作。 审计用户操作数据库语句。 把用户对数
12、据库更新写入审计表。l 实现复杂数据完整性规则。 实现非标准数据完整性检验和约束。触发器可产生比规则更复杂限制。和规则不一样,触发器能够引用列或数据库对象。 提供可变缺省值。l 实现复杂非标准数据库相关完整性规则。触发器能够对数据库中相关表进行连环更新。 在修改或删除时级联修改或删除其它表中和之匹配行。 在修改或删除时把其它表中和之匹配行设成NULL值。 在修改或删除时把其它表中和之匹配行级联成缺省值。 触发器能够拒绝或“回退”那些破坏相关完整性改变,取消试图进行数据更新事物。当插入一个和主键不匹配外部键时,这种触发器会起作用。l 同时实时地复制表中数据。l 自动计算数据值,假如数据值达成了一
13、定要求,则进行特定处理。3.4 事务处理事务是这么一个机制,它确保多个SQL语句被看成单个工作单元来处理。事务含有以下作用:l 一致性:同时进行查询和更新相互不会发生冲突,其它用户不会看到发生了改变但还未提交数据。l 可恢复性:一旦系统故障,数据库会自动地完全恢复未完成事务。3.4.3 事务和一致性事务是完整性单位,一个事务实施是把数据库从一个一致状态转换成另一个一致状态。所以,假如事务孤立实施时是正确,但假如多个事务并发交错地实施,就可能相互干扰,造成数据库状态不一致性。在多用户环境中,数据库必需避免同时进行查询和更新发生冲突。这一点是很关键,假如正在被处理数据能够在该处理正在运行时被另一用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 设计规范 样本
限制150内