[工学]数据库讲解

[工学]数据库讲解

ID:36291073

大小:272.66 KB

页数:120页

时间:2019-05-08

[工学]数据库讲解_第1页
[工学]数据库讲解_第2页
[工学]数据库讲解_第3页
[工学]数据库讲解_第4页
[工学]数据库讲解_第5页
资源描述:

《[工学]数据库讲解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、普通高等教育十一五规划教材数据库原理教程范明、叶阳东、邱保志、职为梅编著科学出版社,2008第5章完整性与安全性第5章完整性与安全性数据库是一种共享资源,是存放数据的场所数据库系统需要保护数据库,防止用户有意或无意地破坏数据数据的完整性和安全性是一个问题的两个方面,都是为了保护数据库中的数据数据完整性旨在保护数据库中的数据,防止合法用户对数据库进行修改时破坏数据的一致性数据安全性旨在保护数据库,防止未经授权的访问和恶意破坏和修改10/4/20213数据库系统原理第5章完整性与安全性5.1完整性概述5.2实体完整性和参照完整性5.3域约束5.4用户定义的完整性5.5触发器5.6安

2、全性概述5.7用户标识与鉴别5.8存取控制5.9SQL的授权5.10其他安全措施5.11小结10/4/20214数据库系统原理5.1完整性概述完整性概述数据库的完整性是指数据库中的数据的正确性、一致性和相容性数据库中的数据要成为有意义的信息,必须满足一定的语义约束约束条件关系数据库上约束分为实体完整性参照完整性用户定义的完整性所有的约束都是语义约束,都是用户根据实际问题的语义指定的实体完整性和参照完整性约束的含义是特定的,用户只需要说明关系的主码和外码,而不必再说明约束条件对于其他约束(用户定义的完整性),用户需要使用一个谓词具体说明约束条件10/4/20216数据库系统原理约

3、束分类根据被约束的数据对象,完整性约束可以分为如下四类:类型(域)约束:说明给定类型的合法取值属性约束:说明属性的合法取值关系约束:说明关系的合法取值数据库约束:说明数据库的合法取值,通常涉及多个关系实体完整性是一种关系约束参照完整性是一种数据库约束用户定义的完整性可以是上述四种约束的任何一种10/4/20217数据库系统原理约束分类(续)约束还可以分静态约束和动态约束静态约束是关于数据库正确状态的约束动态约束是数据库从一种正确状态转移到另一种状态的转移约束例如,对于婚姻状况,如下动态转移约束是正确的未婚到已婚、已婚到离异、已婚到丧偶、离异到已婚、丧偶到已婚对于最后学位,如下动

4、态转移约束是正确的:学士到硕士、学士到博士、硕士到博士说明:DDL允许用户在创建域的同时说明域上的约束条件,并且允许用户使用创建的域定义属性约束属性约束、关系约束和参照完整性约束都可以在创建关系时说明更一般地,约束是一个关于数据库对象的断言。DDL应当允许用户定义断言,使得用户可以定义更复杂约束10/4/20218数据库系统原理DBMS对完整性的支持为了维护数据库的完整性,完整性控制应当作为DBMS核心机制,必须提供:说明和定义完整性约束条件的方法DBMS的DDL允许用户根据实际问题的语义说明和定义各种完整性约束条件完整性检查机制DBMS在数据更新可能破坏完整性时自动进行完整性

5、检查检查可以在更新操作执行时立即执行,也可以在事务提交时进行违约处理当数据更新违反完整性约束时,DBMS应当采取相应的措施,确保数据的完整性10/4/20219数据库系统原理DBMS对完整性的支持(续)说明数据库约束的检查是可延迟的,可以延迟到事务提交时进行其他约束的检查是立即的,在可能导致违反完整性约束的更新时立即进行所有数据库更新都不能破坏数据库的完整性当更新违反参照完整性约束时存在多种可能的补救措施,系统可以允许更新,并自动采取相应的行动(见5.2节)在其他情况下(如违反实体完整性和违反用户定义的完整性约束),违反完整性约束的更新通常被拒绝DBMS也提供一些机制,使得用户

6、可以说明对某些违反完整性约束的更新所采取的行动(见5.5节)10/4/202110数据库系统原理5.2实体完整性与参照完整性实体完整性在关系数据库中,一个基本关系对应于一个实体集或联系集实体完整性约束是一个关系内的约束实体完整性规则每个关系应该有一个主码,每个元组的主码值唯一确定该元组主码的任何属性都不能取空值何时可能破坏实体完整性删除操作不会破坏实体完整性插入新元组和修改某个(些)元组的主码值可能破坏实体完整性何时检查实体完整性和处理措施DBMS应当在插入新元组和修改元组的主码时自动检查是否导致违反实体完整性约束拒绝导致破坏实体完整性约束的任何插入或修改10/4/202112

7、数据库系统原理实体完整性(续)判断主属性是否为空值是简单的主码唯一性检查为了有效地判定主码上的值是否唯一,通常DBMS自动在主码上建立索引(如B+树索引)通过索引查找而不必访问任何元组就能确定主码上的值是否唯一SQL对实体完整性的支持用户只需要在创建基本表时说明关系的主码,系统就能够自动地保证实体完整性SQL说明主码的方法已在第4章讨论10/4/202113数据库系统原理参照完整性参照完整性约束是不同关系之间或同一关系的不同元组间的约束参照完整性规则参照关系R的任何元组在其外码FKR上的值或

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。