您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 919487-SQL-Server第4版-第8章--数据库系统控制
数据库技术及应用DatabaseTechnologyandApplication第8章数据库系统控制本章重点:安全控制完整性控制恢复技术并发调度计算思维漫谈八:控制与调度8.1安全控制8.1.1安全问题8.1.2安全级别8.1.3安全控制层级8.1.4安全性控制的方法8.1.5用户权限管理8.1.1安全问题1.技术安全2.管理安全3.政策法律安全8.1.2安全级别数据库的安全级别通常分为:DBMS级,网络级,OS级,用户级和环境级.8.1.3安全控制层级数据库用户标识与鉴别几个安全层级8.1.4安全性控制的方法1.用户标识与鉴别用户标识与鉴别(Identification&Authentication)是系统提供的最外层安全保护措施。(1)用户标识(权限)(2)用户鉴别(验证)8.1.4安全性控制的方法2.存取控制数据库安全性所关心的主要是DBMS的存取控制机制。(1)定义存取权限(2)检查存取权限8.1.4安全性控制的方法3.视图机制视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,视图机制更主要的功能在于提供数据独立性,其安全保护功能太不精细,往往远不能达到应用系统的要求。8.1.4安全性控制的方法4.审计审计功能是把用户对数据库的所有操作记录自动记录下来并放入审计日志(AuditLog)中。DBA利用审计日志,找出非法存取数据的人、时间和内容。审计分为用户级审计和系统级审计。8.1.5用户权限管理1.用户权限2.服务器角色3.数据库角色8.2完整性控制8.2.1完整性约束8.2.2实体完整性控制8.2.3参照完整性控制8.2.4用户自定义完整性控制8.2.1完整性约束关系的完整性是关系应该满足一些约束条件,而这些条件实际上是现实世界的要求,任何关系在任何时候都要满足这些语义约束。8.2.2实体完整性控制1.实体完整性定义实体完整性(EntityIntegrity):若属性K是基本关系R的主码,则属性K不能取空值。实体完整性可在CREATETABLE时用PRIMARYKEY定义。8.2.2实体完整性控制2.实体完整性检查和违约处理(1)检查主码值是否唯一,如果不唯一则拒绝插入或更新。(2)检查主码的各个属性是否为空,只要有一个为空就拒绝插入或更新。8.2.3参照完整性控制1.参照完整性定义参照完整性(ReferenceIntegrity):若属性F是基本关系R的外码,它与基本关系S的主码KS相对应,则对于R中每个元组在F上的值必须或者取空值,或者等于S中的某个元组的主码值。8.2.3参照完整性控制2.参照完整性检查和违约处理一个参照完整性将两个表中的相应元组联系起来了。因此,在对被参照表和参照表进行添加、修改或删除操作时,有可能破坏参照完整性,必须进行检查。8.2.4用户自定义完整性控制1.用户自定义完整性定义用户自定义完整性(User-DefinedIntegrity)是用户自行定义的,不属于其它完整性的所有规则,用户定义的完整性就是针对某一具体应用的数据必须满足的语义要求。8.2.4用户自定义完整性控制2.用户自定义完整性检查和违约处理插入元组或修改属性的值时,DBMS检查属性上的约束条件是否被满足,如果不满足则操作被拒绝执行。8.3恢复技术8.3.1事务8.3.2故障及恢复8.3.1事务1.什么事务事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。事务(transaction)是构成单一逻辑工作单元的操作集合。8.3.1事务2.事务性质(ACID特性)(1)原子性(Atomicity)(2)一致性(Consistency)(3)隔离性(Isolation)(4)持久性(Durability)8.3.1事务3.事务的处理过程BEGINTRANSACTION通常是事务的开始COMMIT或ROLLBACK是事务的结束8.3.2故障及恢复1.什么是事务故障某事务在运行过程中由于种种原因未运行至正常终止点就夭折了。这意味着事务没有达到预期的终点,因此数据库可能处于不正确的状态。2.恢复办法在不影响其他事务运行的情况下,强行回滚该事务,使得该事务好像根本没有启动一样。8.3.2故障及恢复1.什么是系统故障造成系统停止运转的任何事件,使得系统要重新启动。2.恢复办法系统重新启动后,恢复子系统需要撤销所有未完成的事务,还需要重做所有已经提交的事务,以将数据库真正恢复到一致状态。8.3.2故障及恢复1.什么是介质故障介质故障使存储在外存中的数据部分丢失或全部丢失;介质故障比前两类故障的可能性小得多,但破坏性大得多。2.恢复办法介质故障必须借助DBA的帮助,由DBA一起恢复。8.4并发调度8.4.1调度8.4.2封锁8.4.3并发调度的可串行性8.4.1调度为了保证事务的隔离性和一致性,DBMS需要对并发控制进行正确调度。并发控制的主要技术采用封锁方法。8.4.2封锁封锁就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。8.4.3并发调度的可串行性可串行化(Serializable)调度:多个事务的并发执行是正确的,当且仅当其结果与按某次序串行地执行这些事务时的结果相同。8.5计算思维漫谈八控制与调度东北师范大学
本文标题:919487-SQL-Server第4版-第8章--数据库系统控制
链接地址:https://www.777doc.com/doc-7202739 .html