欢迎来到天天文库
浏览记录
ID:44772215
大小:65.50 KB
页数:11页
时间:2019-10-28
《数据库原理五》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据库原理第五章数据库完整性定义:数据的正确性和相容性如:学号必须唯一,性别取值只能是‘男’或‘女’等。完整性和安全性的区别:完整性是为了防止数据库中存在不符合语义的数据,安全性是保护数据库防止恶意的破坏和非法的存取加在数据库上的语义约束条件称为完整性约束条件,数据库管理系统中检查数据是否满足完整性条件的机制称为完整性检查1.在一条语句执行完后立即检查,称这类约束为立即执行约束。2.有时完整性检查需要延迟到整个事务执行结束后再执行,称这类约束为延迟执行约束。为维护数据库的完整性,DBMS必须能够:1.提供定义完整性约束条件的机制2.提供完整性检查的方法3.违约处理5
2、.1实体完整性5.1.1实体完整性定义5.1.2实体完整性检查和违约处理1.检查主码值是否唯一,如果不唯一则拒绝插入或修改。2.检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改。注:全表扫描非常耗时,RDBMS一般都在主码上自动建立一个索引来查找。5.2参照完整性5.2.1参照完整性定义5.2.2参照完整性检查和违约处理1.拒绝执行2.级联操作3.设置为空值注:一般当对参照表和被参照表的操作违反了参照完整性,系统选用默认策略,即拒绝执行。如果想让系统采用其它的策略则必须在创建表的时候显式地加以说明。5.3用户定义的完整性5.3.1属性上的约束条件的定义1.
3、不允许取空值2.列值唯一3.用CHECK短语指定列值应该满足的条件5.3.2属性上的约束条件检查和违约处理当往表中插入元组或修改属性的值时,RDBMS就检查属性上的约束条件是否被满足,如果不满足则操作被拒绝执行。5.3.3元组上的约束条件的定义5.3.4元组上的约束条件检查和违约处理当往表中插入元组或修改属性的值时,RDBMS就检查元组上的约束条件是否被满足,如果不满足则操作被拒绝执行。5.4完整性约束命名子句1.完整性约束命名子句CONSTRAINT<完整性约束条件名>[PRIMARYKEY短语
4、FOREIGNKEY短语CHECK短语]2.修改表中的完整性限制5.
5、5触发器触发器(Trigger):由用户定义在关系表上的一类由事件驱动的特殊过程。任何用户对表的增、删、改操作均由服务器自动激活相应的触发器。触发器比约束更灵活,可以实施更为复杂的检查和操作,具有更精细和强大的数据控制能力。5.5.1定义触发器CREATETRIGGER<触发器名>{BEFORE
6、AFTER}<触发事件>ON<表名>FOREACH{ROW
7、STATEMENT}[WHEN<触发条件>]<触发动作体>具体说明参见教材P161。5.5.2激活触发器执行顺序:1.执行BEFORE触发器。2.激活触发器的SQL语句。3.执行AFTER触发器。5.5.3删除触发
8、器DROPTRIGGER<触发器>ON<表名>
此文档下载收益归作者所有