《数据控制权限赋予与回收精.ppt》由会员分享,可在线阅读,更多相关《数据控制权限赋予与回收精.ppt(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第1页,本讲稿共24页概述概述数据控制亦称为数据保护,包括数据的:数据控制亦称为数据保护,包括数据的:完整性控制完整性控制并发控制并发控制恢复恢复安全性控制安全性控制第2页,本讲稿共24页1.完整性完整性数据库的完整性是指数据库中数据的正确性与相容性。数据库的完整性是指数据库中数据的正确性与相容性。SQL语言定义完整性约束条件语言定义完整性约束条件CREATE TABLE语句ALTER TABLE语句码码取值唯一的列取值唯一的列参照完整性参照完整性其他约束条件其他约束条件第3页,本讲稿共24页2.并发控制并发控制并发控制并发控制:当多个用户并发地对数据库进行操作时,对他们加以控制、协调,以保证
2、当多个用户并发地对数据库进行操作时,对他们加以控制、协调,以保证并发操作正确执行,保持数据库的一致性。并发操作正确执行,保持数据库的一致性。SQL语言并发控制能力:语言并发控制能力:提供事务、事务开始、事务结束、提交等概念提供事务、事务开始、事务结束、提交等概念第4页,本讲稿共24页3.恢复恢复恢复恢复:当发生各种类型的故障导致数据库处于不一致状态时,将数据当发生各种类型的故障导致数据库处于不一致状态时,将数据库恢复到一致状态的功能。库恢复到一致状态的功能。SQL语言恢复功能:语言恢复功能:提供事务回滚、重做等概念提供事务回滚、重做等概念 (UNDO、REDO)第5页,本讲稿共24页4.安全性
3、安全性安全性:保护数据库,防止不合法的使用所造成的数据泄露和破坏。安全性:保护数据库,防止不合法的使用所造成的数据泄露和破坏。保证数据安全性的主要措施保证数据安全性的主要措施存取控制:控制用户只能存取他有权存取的数据规定不同用户对于不同数据对象所允许执行的操作第6页,本讲稿共24页DBMS实现数据安全性保护的过程实现数据安全性保护的过程用户或用户或DBA把授权决定告知系统把授权决定告知系统SQL的的GRANT和和REVOKEDBMS把授权的结果存入数据字典把授权的结果存入数据字典当当用用户户提提出出操操作作请请求求时时,DBMS根根据据授授权权定定义义进进行行检检查查,以以决决定定是是否否执行
4、操作请求执行操作请求第7页,本讲稿共24页授授 权权GRANTGRANT语句的一般格式:语句的一般格式:GRANT GRANT,.ON ON TO TO,.WITH GRANT OPTION;WITH GRANT OPTION;谁定义?谁定义?DBADBA和表的建立者(即表的属主)和表的建立者(即表的属主)GRANT功能:将对指定操作对象的指定操作权限授予指定的用户功能:将对指定操作对象的指定操作权限授予指定的用户。第8页,本讲稿共24页(1)操作权限操作权限第9页,本讲稿共24页(2)用户的权限用户的权限建表(建表(CREATETABCREATETAB)的权限)的权限:属于属于DBADBAD
5、BADBA授予授予-普通用户普通用户基本表或视图的属主拥有对该表或视图的一切操作权限基本表或视图的属主拥有对该表或视图的一切操作权限接受权限的用户接受权限的用户:一个或多个具体用户一个或多个具体用户 PUBLIC PUBLIC(全体用户)(全体用户)第10页,本讲稿共24页(4)WITH GRANT OPTION(4)WITH GRANT OPTION子句子句指定了指定了WITH GRANT OPTIONWITH GRANT OPTION子句子句:获得某种权限的用户还可以把这种权限获得某种权限的用户还可以把这种权限再授予再授予别的用户。别的用户。没有指定没有指定WITH GRANT OPTIO
6、NWITH GRANT OPTION子句子句:获得某种权限的用户只能使用该权限,获得某种权限的用户只能使用该权限,不能传播不能传播该权限该权限第11页,本讲稿共24页例题例题 例例1 1 把查询把查询StudentStudent表权限授给用户表权限授给用户U1U1 GRANT SELECT ON TABLE Student TO U1;第12页,本讲稿共24页例题(续)例题(续)例例2 2 把对把对StudentStudent表和表和CourseCourse表的全部权限授予用户表的全部权限授予用户U2U2和和U3U3 GRANT GRANT ALL PRIVILIGESALL PRIVILIG
7、ES ON TABLE Student,Course ON TABLE Student,Course TO U2,U3;TO U2,U3;第13页,本讲稿共24页例题(续)例题(续)例例3 3 把对表把对表SCSC的查询权限授予所有用户的查询权限授予所有用户 GRANT SELECT GRANT SELECT ON TABLE SC ON TABLE SC TO TO PUBLICPUBLIC;第14页,本讲稿共24页例题(续)例题(续)例例4 4 把查询把查询StudentStudent表和修改学生学号的权限授给用户表和修改学生学号的权限授给用户U4U4 GRANT GRANT UPDATE
8、(Sno),UPDATE(Sno),SELECT SELECT ON TABLE Student ON TABLE Student TO U4;TO U4;第15页,本讲稿共24页例题(续)例题(续)例例5 5 把把对对表表SCSC的的INSERTINSERT权权限限授授予予U5U5用用户户,并并允允许许他他再再将将此此权权限限授授予予其他用户其他用户 GRANT INSERT GRANT INSERT ON TABLE SC ON TABLE SC TO U5 TO U5 WITH GRANT OPTIONWITH GRANT OPTION;第16页,本讲稿共24页传播权限传播权限 执行例执
9、行例5 5后,后,U5U5不仅拥有了对表不仅拥有了对表SCSC的的INSERTINSERT权限,权限,还可以传播此权限:还可以传播此权限:GRANT INSERT ON TABLE SC GRANT INSERT ON TABLE SC TO U6TO U6 WITH GRANT OPTIONWITH GRANT OPTION;同样,同样,U6U6还可以将此权限授予还可以将此权限授予U7U7:GRANT INSERT ON TABLE SC GRANT INSERT ON TABLE SC TO U7TO U7;但但U7U7不能再传播此权限。不能再传播此权限。U5-U6-U7 U5-U6-U7
10、第17页,本讲稿共24页例题(续)例题(续)例例6 DBA6 DBA把在数据库把在数据库S_CS_C中建立表的权限授予用户中建立表的权限授予用户U8U8GRANT GRANT CREATETABCREATETABON ON DATABASEDATABASE S_C S_C TO U8;TO U8;第18页,本讲稿共24页SQL收回权限的功能收回权限的功能REVOKEREVOKE语句的一般格式为:语句的一般格式为:REVOKE REVOKE,.ON ON FROM FROM,.;.;功能:从指定功能:从指定用户用户那里收回对指定那里收回对指定对象对象的指定的指定权限权限第19页,本讲稿共24页例
11、题例题例例7 7 把用户把用户U4U4修改学生学号的权限收回修改学生学号的权限收回REVOKE UPDATE(Sno)REVOKE UPDATE(Sno)ON TABLE Student ON TABLE Student FROM U4;FROM U4;第20页,本讲稿共24页例题(续)例题(续)例例8 8 收回所有用户对表收回所有用户对表SCSC的查询权限的查询权限REVOKE SELECT REVOKE SELECT ON TABLE SC ON TABLE SC FROM FROM PUBLICPUBLIC;第21页,本讲稿共24页例题(续)例题(续)例例9 9 把用户把用户U5U5对对
12、SCSC表的表的INSERTINSERT权限收回权限收回REVOKE INSERT REVOKE INSERT ON TABLE SC ON TABLE SC FROM U5;FROM U5;第22页,本讲稿共24页权限的级联回收权限的级联回收系统将收回直接或间接从系统将收回直接或间接从U5处获得的对处获得的对SC表的表的INSERT权限权限:-U5-U6-U7收回收回U5、U6、U7获得的对获得的对SC表的表的INSERT权限权限:-U5-U6-U7第23页,本讲稿共24页小结小结:SQLSQL灵活的授权机制灵活的授权机制DBADBA拥有对数据库中所有对象的所有权限,并可以根据应用的需要将不同的权限授予不同的用户。拥有对数据库中所有对象的所有权限,并可以根据应用的需要将不同的权限授予不同的用户。用用户户对对自自己己建建立立的的基基本本表表和和视视图图拥拥有有全全部部的的操操作作权权限限,并并且且可可以以用用GRANTGRANT语语句句把把其其中中某某些些权权限限授授予予其其他他用户。用户。被授权的用户如果有被授权的用户如果有“继续授权继续授权”的许可,还可以把获得的权限再授予其他用户。的许可,还可以把获得的权限再授予其他用户。所有授予出去的权力在必要时又都可以用所有授予出去的权力在必要时又都可以用REVOKEREVOKE语句收回。语句收回。第24页,本讲稿共24页