- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
An Introduction to Database System 第四章数据库的完整性与安全性 4-1 数据库的完整性 4-2 SQL Server 2000的完整性 4-3 数据库的安全性 4-4 SQL Server的安全体系结构和安全认证模式 4-5 SQL Server 2000数据库安全性管理 4-1 数据库的完整性 1.完整性约束的分类 2.完整性控制 3.触发器 完整性约束的分类 关系模型中有3类完整性约束 实体完整性 参照完整性 用户定义的完整性 为维护数据库的完整性,DBMS必须提供一种机制来检查数据库中数据的完整性 保证完整性的方法之一是设置完整性检验 完整性约束的分类(续) 数据库完整性约束条件 加在数据库数据上的语义约束条件 一般是对数据库中数据本身的某些语义、语义限制、数据间的逻辑约束以及数据变化时所应遵循的规则 一般在数据模式中给出,作为模式的一部分存入数据字典中 在运行时由DBMS自动检查 完整性约束的分类(续) 完整性约束条件的作用对象 可分为列、元组和关系三种级别 对列的约束主要指对其取值类型、范围、精度、排序等的约束条件 对元组的约束是指对记录中各个属性之间的联系的约束条件。 对关系的约束是指对若干记录间、关系集合上以及关系之间联系的约束条件。 在一个数据库管理系统中,完整性约束功能一般包括完整性约束条件设置和它的检查两部分一般通过完整性约束语句给出。 完整性约束的分类(续) 完整性约束条件的作用状态分为静态约束、动态约束 静态约束 数据库中数据的语法、语义限制与数据间的逻辑约束,它反映了数据及数据间的固有的逻辑特性。 如国家公务员的年龄约束为18~60岁,工资约束为300~5000元等,它们可分别用逻辑公式表示为: Age≤60 AND Age≥18 Salary≤5000 AND Salary≥300 动态约束 不是对数据库状态的约束,而是数据库从一个状态变为另一个状态时应遵守的约束,例如在更新职工表时,工资、工龄这些属性值一般只会增加,不会减少。动态约束一般也是显式说明的。 静态约束 静态约束是对数据库状态的约束, 固有约束(Inherent Constraints)指数据模型固有的约束,例如关系的属性应是原子的,即满足第一范式的约束。固有约束主要在DBMS实现时加以考虑,不必特别说明。 隐含约束(Implicit Constraints)指隐含于数据模式中的约束,一般用DDL语句说明,并存于数据目录中,例如域完整性约束、实体完整性约束以及引用完整性约束,它们都用相应的DDL语句说明。 固有约束、隐含约束是最基本的约束,但概括不了所有的约束。数据完整性约束是多种多样的,且依赖于数据的语义和应用,这些约束只能显式地说明,故称显式约束(Explicit Constraints)。 2.完整性控制 完整性控制 DBMS如何定义、检查并保证这些约束条件得到满足 一个完善的完整性控制机制应该允许用户定义所有这些完整性约束条件 DBMS应具备的完整性控制功能 定义功能: 为用户提供定义完整性约束条件的命令或工具。 检查功能: 能够自动检查用户发出的操作请求是否违背了完整性约束条件。 保护功能: 当发现用户的操作请求使数据违背了完整性约束条件时,能够自动采取一定的措施确保数据的完整性不遭破坏。 完整性控制(续) 实体完整性和参照完整性是最重要的两个约束。 RDBMS都应该自动支持并控制管理这两个完整性约束,而把其他的完整性约束条件原则上都归入用户定义的完整性之中。 目前许多商品化RDBMS都提供了定义和检查实体完整性、参照完整性和用户定义的完整性的功能。 对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行处理。而对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性。 实现参照完整性需要考虑的几个问题 (1)外键的空值问题 根据实际情况的不同,一个关系的外码有时可以取空值,有时又不能取空值,这是数据库设计人员必须考虑的外码空值问题。 如在学生-选课数据库中,关系Students为被参照关系,其主键为Sno。关系Reports为参照关系,外键为Sno。若关系Reports的外键Sno为空值,则表明尚不存在的某个学生,或者某个不知学号的学生,选修了某门课程,其成绩记录在Grade列中。这显然与学校的实际管理是不相符的,因此,关系Reports的外键Sno列值不能取空值。 在实现参照完整性时,DBMS除了应该提供定义外键的机制以外,还应提供定义外键列值是否允许为空值的机制。 (2)被参照关系中删除元组的问题 当用户将被参照关系中的一个元组删除,如何处理参照关系中对应的元组,称为被参照
您可能关注的文档
- 数据库原理及应用 第2版 教学课件 作者 何玉洁 刘福刚 第10章 安全管理.ppt
- 数据库原理及应用 第2版 教学课件 作者 何玉洁 刘福刚 第11章 备份和恢复数据库.ppt
- 数据库原理及应用 第2版 习题答案 作者 何玉洁 刘福刚 习题参考答案.doc
- 数据库原理及应用 第2章关系数据库系统结构.ppt
- 数据库原理及应用 第3章关系数据库设计.ppt
- 数据库原理及应用 第4章Access 2003概述.ppt
- 数据库原理及应用 第5章关系数据库标准语言SQL.ppt
- 数据库原理及应用 第6章数据库的控制技术.ppt
- 数据库原理及应用 第7章管理信息系统.ppt
- 数据库原理及应用 第8章数据库新技术介绍.ppt
- 数据库原理及应用孙浩军 第5章关系数据库的模式设计.ppt
- 数据库原理及应用孙浩军 第6章数据库设计.ppt
- 数据库原理及应用孙浩军 第7章查询优化.ppt
- 数据库原理及应用孙浩军 第8章事务处理.ppt
- 数据库原理及应用孙浩军 第9章数据库管理系统.ppt
- 数据库原理及应用孙浩军 第10章数据库访问技术.ppt
- 数据库原理及应用孙浩军 第11章网络环境下的数据库系统.ppt
- 数据库原理及应用孙浩军 第12章数据库新技术与新应用.ppt
- 数据库原理与SQL Server2005应用教程 教学课件 作者 程云志 张帆 1.ppt
- 数据库原理与SQL Server2005应用教程 教学课件 作者 程云志 张帆 2.ppt
原创力文档


文档评论(0)