数据库系统设计数据完整性幻灯片.ppt
《数据库系统设计数据完整性幻灯片.ppt》由会员分享,可在线阅读,更多相关《数据库系统设计数据完整性幻灯片.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库系统设计数据完整性第1页,共26页,编辑于2022年,星期六 本本讲讲参考参考书书目目:1 美美 Rob,P.Coonel,C.数据数据库库系系统设统设计计、实现实现与管理(第与管理(第5版)版).陈陈立立军军 等等译译.电电子工子工业业出版社,出版社,2004.3 2 美美 Ramakrishnan,R.Gehrke,J.数据数据库库管理系管理系统统原理与原理与设计设计(第(第3版)版).周立柱周立柱 等等译译.北京:清北京:清华华大学出版社,大学出版社,2004.3第2页,共26页,编辑于2022年,星期六 1 关系数据库设计概述关系数据库设计概述 DBMS 从产生直至发展到现在从产
2、生直至发展到现在,出现了多出现了多种类型种类型.按其数据模型来分,主要有层次数据按其数据模型来分,主要有层次数据库、网状数据库和关系数据库库、网状数据库和关系数据库.前两者在六七前两者在六七十年代较为流行,然而他们表示数据之间的联十年代较为流行,然而他们表示数据之间的联系太过于复杂,现在已经很少使用,只是在讲系太过于复杂,现在已经很少使用,只是在讲解数据库的时候才有所提及解数据库的时候才有所提及.关系数据库以关系的数学理论为基础,是关系数据库以关系的数学理论为基础,是数据库技术的一项重大突破数据库技术的一项重大突破.一、一、关系数据库设计要点关系数据库设计要点 第3页,共26页,编辑于2022
3、年,星期六 关系数据库简单严谨,二十多年来有了长关系数据库简单严谨,二十多年来有了长足发展,现在已经成为事实上的标准,当今几足发展,现在已经成为事实上的标准,当今几乎所有的数据库产品都是基于关系数据库的乎所有的数据库产品都是基于关系数据库的.数据库设计是数据库应用的一个关键因素数据库设计是数据库应用的一个关键因素,设计结构合理、功能齐全的数据库对于提高数设计结构合理、功能齐全的数据库对于提高数据库应用程序的开发效率和程序的性能都是非据库应用程序的开发效率和程序的性能都是非常重要的常重要的.数据库设计是指对于一个给定的应用环境数据库设计是指对于一个给定的应用环境,构造最优的数据模式,建立数据库,
4、使其能够构造最优的数据模式,建立数据库,使其能够有效地存储数据记录,并能满足各种应用需求有效地存储数据记录,并能满足各种应用需求.第4页,共26页,编辑于2022年,星期六 对于一个数据密集型应用来说,数据库设对于一个数据密集型应用来说,数据库设计是它的一个核心部分,但对于大型的软件系计是它的一个核心部分,但对于大型的软件系统设计来说统设计来说,它只是其中一个部分它只是其中一个部分.数据库设计的过程可以分为数据库设计的过程可以分为 6 步步.(1)需求分析需求分析 (2)概念数据库设计概念数据库设计 (3)逻辑数据库设计逻辑数据库设计 (4)模式的细化模式的细化 (5)物理数据库设计物理数据库
5、设计 (6)应用与安全设计应用与安全设计 第5页,共26页,编辑于2022年,星期六 2 规划关系数据库规划关系数据库 进行数据库规划是所有数据库编程的第一步进行数据库规划是所有数据库编程的第一步,也是最重要的一步也是最重要的一步.首先,列出客户所关心的所有数据和建立这首先,列出客户所关心的所有数据和建立这个数据库的主要目的个数据库的主要目的.这可以通过收集各种相关这可以通过收集各种相关的数据报表和表格来完成的数据报表和表格来完成.需求分析是数据库设需求分析是数据库设计的第一阶段,不断的调查与研究,了解组织机计的第一阶段,不断的调查与研究,了解组织机构的情况,了解部门的业务流程等系统需求,对构
6、的情况,了解部门的业务流程等系统需求,对于设计好数据库是非常重要的于设计好数据库是非常重要的.然后,数据表规划是整个数据库设计中技巧然后,数据表规划是整个数据库设计中技巧性最强的一个步骤性最强的一个步骤.数据表要满足第三范式数据表要满足第三范式.第6页,共26页,编辑于2022年,星期六 规划数据库规划数据库有以下三条有以下三条基本原则基本原则:数据库中的记录个数应该反映现实世界数据库中的记录个数应该反映现实世界对象的个数对象的个数.如果一个对象的实例在现实世界中如果一个对象的实例在现实世界中存在,则在数据库中有且只有一条记录存在存在,则在数据库中有且只有一条记录存在.每行记录的字段应该表达现
7、实世界对象每行记录的字段应该表达现实世界对象的属性的属性.现实世界对象之间的关系应该反映在数现实世界对象之间的关系应该反映在数据库记录之间的关系上据库记录之间的关系上.第7页,共26页,编辑于2022年,星期六 3 设计数据完整性概述设计数据完整性概述 关系数据库的目的是建立现实世界的模型关系数据库的目的是建立现实世界的模型.基于这一点基于这一点,用来实施数据完整性的规则和方法用来实施数据完整性的规则和方法无论对于理论和数据库开发的实践都很重要无论对于理论和数据库开发的实践都很重要.数据完整性是指存储在数据库中的数据的正数据完整性是指存储在数据库中的数据的正确性和相容性确性和相容性.设计数据完
8、整性的目的是为了防止数据库中设计数据完整性的目的是为了防止数据库中存在不符合语义的数据存在不符合语义的数据,防止错误信息的输入和防止错误信息的输入和输出输出.第8页,共26页,编辑于2022年,星期六 数据完整性可以分数据完整性可以分为为四四类类:实实体完整性体完整性 每个实体都保持惟一性每个实体都保持惟一性.值值域完整性域完整性 如何限制向表中输入值的范围如何限制向表中输入值的范围.引用完整性引用完整性(参照完整性参照完整性)处理数据时维护表之间数据的一致性处理数据时维护表之间数据的一致性.用用户户定定义义的完整性的完整性 体体现实际现实际运用的运用的业务规则业务规则.第9页,共26页,编辑
9、于2022年,星期六 实实体完整性体完整性 每一个实体都必须拥有一个主键或者其他的惟一标识列每一个实体都必须拥有一个主键或者其他的惟一标识列.要求要求:所有的主:所有的主键项键项都是唯一的,并且主都是唯一的,并且主键键的任何部分的任何部分都不能都不能为为空空.目的目的:保:保证证每个每个实实体有惟一的体有惟一的标识标识,确保外,确保外键值键值可以正可以正确地引用主确地引用主键值键值.例子例子:发货单发货单没有重复的号没有重复的号码码,号,号码码也不能也不能为为空空.参照完整性参照完整性 要求要求:外:外键键可能是空可能是空-只要它不是它自己所在的表的主只要它不是它自己所在的表的主键键的一部分的
10、一部分-每个非每个非null外外键值键值必必须须参照已参照已经经存在的主存在的主键值键值.目的目的:不能有无效的:不能有无效的项项.例子例子:客:客户户可以没有可以没有给给定的代理商号定的代理商号码码,但是不能有无,但是不能有无效的代理商号效的代理商号码码.第10页,共26页,编辑于2022年,星期六 SQL Server提供的用来实施数据完整性的提供的用来实施数据完整性的途径主要是途径主要是:约束约束(constraint)标识列标识列(identity column)默认值默认值(default)规则规则(rule)触发器触发器(trigger)数据类型数据类型(data type)索引索
11、引(index)存储过程存储过程(stored procedure)第11页,共26页,编辑于2022年,星期六 约束完整性约束完整性 约束完整性是指数据的正确性和完备性约束完整性是指数据的正确性和完备性.在用在用INSERT、DELETE、UPDATE 语句修改数据库语句修改数据库内容时,数据的完整性可能会遭到破坏,内容时,数据的完整性可能会遭到破坏,有如下有如下几种情况:几种情况:-无效的数据被添加到数据库中,如某订单无效的数据被添加到数据库中,如某订单所指的产品不存在所指的产品不存在.-对数据库的修改不一致,对数据库的修改不一致,如为某产品增加如为某产品增加了订单,但却没有调整产品的库存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 设计 数据 完整性 幻灯片
限制150内