欢迎来到天天文库
浏览记录
ID:59266478
大小:152.50 KB
页数:46页
时间:2020-09-22
《数据库保护ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六讲数据库保护本讲将讨论数据库的安全性、完整性、并发控制及数据库的恢复问题。本讲的重点是介绍事务概念,并在此基础上讨论并发控制和恢复问题。数据库的安全性数据库中的数据是重要的资源,它需要被共享,但同时需要进行保护。数据库的安全性是指对数据库进行保护,防止非法用户的使用而造成的数据泄漏、更改或破坏。安全性控制的一般方法用户标识和鉴定存取控制密码存储安全性控制的一般方法用户标识和鉴定用户名:SA口令:****有各种口令确定方法安全性控制的一般方法存取控制对用户授权存取权限的两个要素:数据对象,操作类型关系系统中的存取权限数据对象操作类型模式模式外模式内模式建立、
2、修改、检索建立、修改、检索建立、修改、检索数据表属性列检索、插入、修改、删除检索、插入、修改、删除GRANTSELECTONstudentTOhuang安全性控制的一般方法(其他方法)密码存储定义视图审计ORACLE的安全性措施系统权限角色CONNECTRESOURCEDBA数据库对象权限表级行级(通过视图实现)列级(通过视图实现)审计其他触发器数据库的完整性数据库的完整性是指数据的正确性和相容性。用于防止合法用户向数据库中加入不合语义的数据。通过在数据库的数据上规定完整性约束条件来实现完整性约束条件的分类按作用的对象分列级元组级关系级按发挥作用的时机分静态动
3、态组合起来共有六类完整性约束条件的分类(含义)静态列级约束列的定义(类型、格式、值域、空值)静态元组级约束元组各个列值之间应该满足的条件(如:发货量不得高于订货量)静态关系级约束实体完整性约束、参照完整性约束、函数依赖约束、统计约束(如:经理的工资不得高于职工平均工资的5倍)动态列级约束修改列定义时的约束(原来允许空值、想改成不允许空值,但…),修改列值时的约束(如:只许比原来高,不许比原来低)动态元组级约束元组新旧值之间应满足的约束条件(新工资>=原工资+1.5*工龄)动态关系级约束关系变化前后应满足的约束条件,如事务一致性、原子性数据库完整性控制机制提供定
4、义功能如:提供定义关系主码的功能提供自动检查功能如:插入、修改时,DBMS自动对主码的值进行检查提供保证措施如:拒绝插入主码属性为空的元组SQLServer中的完整性控制机制上机查看HELP事务(Transaction)事务是为完成一次任务所执行的一个操作序列。事务通常从BEGINTRANSACTION开始,以COMMIT或ROLLBACK终止。以COMMIT结束:事务执行成功(又称事务提交或事务交托),它对数据库的所有改变从此永远存在,并对所有用户来说也都是可见;以ROLLBACK结束:事务执行不成功,在这种情况下,事务中所执行过的那些操作都被撤销,数据库恢
5、复到事务开始执行之前的状态。事务是执行并发控制的基本单位。事务的特点(事务的ACID性质)原子性(Atomicity):原子性要求事务的所有操作要么都被执行,要么都不执行;一致性(Consistency):事务将数据库由一个一致状态变为另一个一致状态。一致性允许数据库在执行一个事务的期间存在不一致状态,但必须保证在事务结束时是一致的;隔离性(Isolation):并发事务要求相互隔离。即当不同事务并发访问数据库时,不应产生相互影响;持久性(Duralility):成功执行的事务结果要被永久保留,即使是在数据库系统遇到各种硬件错误(如磁头损坏)的情形下也要如此。
6、事务的原子性考查转账事务:首先要执行资金提取操作,然后则是资金存入操作,这样才能将钱从一个账户转移到另一个账户。如果只有资金提取操作而没有资金存入操作,那就会破坏一致性:因为所有账户下的资金总数被改变了(即钱丢失了)。为了避免这种事情发生,事务处理要求提取操作和存入操作要么都执行,要么都不执行。这个属性称为原子性。另外,某些更新操作也可能会破坏数据库一致性。如机票订购系统中,如果在某次航班已经没有空位的情况下执行定票操作,就将导致数据库状态的不一致性。这种对数据库的更新操作必须能使数据库从一个一致性状态转换到另一个一致性状态的性质被称为一致性保护。并发事务引起
7、的不一致性更新丢失:两个事务T1和T2,读入同一数据进行修改,一个事务的修改结果破坏了另一个事务的修改结果。(订票)执行次序T1T21temp:=空位数;2temp:=空位数;3temp:=temp-14temp:=temp-15空位数:=temp6空位数:=temp并发事务引起的不一致性脏读:事务T1修改某一数据,事务T2读取该数据,由于事务T1的撤销使得事务T2读到的数据是错误的数据。执行次序T1T21temp1:=x;2temp1:=temp1+503x:=temp14temp:=x5rollback;设x(库存量)初值为100,T2读到的X=?并发事务
8、引起的不一致性不能重复读:事务T1读取
此文档下载收益归作者所有