网站大量收购独家精品文档,联系QQ:2885784924

第五讲 安全性完整性幻灯片.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库完整性(续) 触发器(Trigger) 所谓触发器就是一系列SQL语句,当对数据库做修改(包括插入、删除和更新)时,它自动被系统执行。 设置触发器机制必须满足的两个条件: ①指明什么条件下触发器被执行,即触发条件; ②指明触发器执行的动作是什么,即触发什么。  数据库完整性(续) 触发器的利弊: 可以进行更为复杂的检查和操作,具有更精细和更强大的数据控制能力,能够保证数据库的一致性; 检测和维护触发器需要很大的开销,降低了数据库增、删、改的效率! 数据库完整性(续) 定义触发器 CREATE TRIGGER 触发器名 { BEFORE | AFTER} 触发事件 ON 表名 FOR EACH {ROW | STATEMENT} [WHEN 触发条件] 触发动作体; 数据库完整性(续) 说明: 1. 创建者:表的拥有者 2. 触发器名 3. 表名:触发器的目标表 4. 触发事件:INSERT、DELETE、UPDATE 5. 触发器类型 行级触发器(FOR EACH ROW) 语句级触发器(FOR EACH STATEMENT) 数据库完整性(续) [例] 定义一个BEFORE行级触发器,为教师表Teacher定义完整性规则“讲师的工资不得低于3000元,如果低于3000元,自动改为3000元”。 CREATE TRIGGER Insert_Or_Update_Sal BEFORE INSERT OR UPDATE ON Teacher /*触发事件是插入或更新操作*/ FOR EACH ROW /*行级触发器*/ AS BEGIN /*定义触发动作体,是PL/SQL过程块*/ IF (new.Job=‘讲师) AND (new.Sal 3000) THEN new.Sal :=3000; END IF; END; 数据库完整性(续) 激活触发器 触发器的执行,是由触发事件激活的,并由数据库服务器自动执行。 一个数据表上可能定义了多个触发器。 同一个表上的多个触发器激活时遵循如下的执行顺序: (1) 执行该表上的BEFORE触发器; (2) 激活触发器的SQL语句; (3) 执行该表上的AFTER触发器。 数据库完整性(续) 删除触发器 DROP TRIGGER 触发器名 ON 表名; 触发器必须是一个已经创建的触发器,并且只能由具有相应权限的用户删除。 [例] 删除教师表Teacher上的触发器Insert_Sal。 DROP TRIGGER Insert_Sal ON Teacher; 数据库完整性(续) 完整性约束总结: 约束实际上就是对数据库的一种限制。可以把很多内容都看作是数据库的约束。如,定义在一个关系上的约束可以有: ①域约束 ②DEFAULT(缺省值约束) ③NOT NULL(非空值约束) ④PRIMARY KEY(主码约束) ⑤FOREIGN KEY(外码约束) ⑥CHECK(check约束) 数据库完整性(续) 约束的一致性检查顺序:    ⑥ 对有FOREIGN KEY约束的被参照表的检查 ⑦ PRIMARY KEY ⑧ 触发器 ① 域约束 ② DEFAULT ③ NOT NULL ④ CHECK ⑤ 对有FOREIGN KEY约束的参照表的检查 数据库完整性练习 设计一个触发器,当插入的学生元组性别为空值时,自动填写‘男’。 在Oracle中利用序列和触发器实现SQL Server支持的自动增量标识列(主码)。 数据库的安全性与完整性 本讲内容结束! 数据库系统 数据库系统 数据库系统 数据库系统 第五讲 数据库的安全性与完整性 安全性与完整性 一、数据库的安全性 数据库安全性 数据库安全面临的问题: 编写合法程序绕过DBMS及其授权机制; 直接或编写应用程序执行非授权操作; 通过多次合法查询数据库从中推导出一些保密数据(统计数据库)。 数据库安全性(续) 计算机系统的安全模型

您可能关注的文档

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档