- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库系统概论_03d关系数据库标准语言SQL数据控制
3.6 数据控制 概述 3.6.1 授权 3.6.2 收回权限 小结 概述 数据控制亦称为数据保护,包括数据的: 安全性控制 完整性控制 并发控制 恢复 SQL语言的数据控制功能 SQL语言提供了数据控制功能,能够在一定程度上保证数据库中数据的完全性、完整性,并提供了一定的并发控制及恢复能力。 1. 完整性 数据库的完整性是指数据库中数据的正确性与相容性。 SQL语言定义完整性约束条件 CREATE TABLE语句 ALTER TABLE语句 码 取值唯一的列 参照完整性 其他约束条件 2. 并发控制 并发控制: 当多个用户并发地对数据库进行操作时,对他们加以控制、协调,以保证并发操作正确执行,保持数据库的一致性。 SQL语言并发控制能力: 提供事务、事务开始、事务结束、提交等概念 3. 恢复 恢复: 当发生各种类型的故障导致数据库处于不一致状态时,将数据库恢复到一致状态的功能。 SQL语言恢复功能: 提供事务回滚、重做等概念 (UNDO、REDO) 4. 安全性 安全性:保护数据库,防止不合法的使用所造成的数据泄露和破坏。 保证数据安全性的主要措施 存取控制:控制用户只能存取他有权存取的数据 规定不同用户对于不同数据对象所允许执行的操作 DBMS实现数据安全性保护的过程 用户或DBA把授权决定告知系统 SQL的GRANT和REVOKE DBMS把授权的结果存入数据字典 当用户提出操作请求时,DBMS根据授权定义进行检查,以决定是否执行操作请求 安全性(续) 谁定义? DBA和表的建立者(即表的属主) 如何定义? SQL语句: GRANT REVOKE 3.6.1 授 权 GRANT语句的一般格式: GRANT 权限[,权限]... [ON 对象类型 对象名] TO 用户[,用户]... [WITH GRANT OPTION]; 谁定义?DBA和表的建立者(即表的属主) REVOKE功能:将对指定操作对象的指定操作权限授予指定的用户。 (1) 操作权限 (2) 用户的权限 建表(CREATETAB)的权限:属于DBA DBA授予--普通用户 基本表或视图的属主拥有对该表或视图的一切操作权限 接受权限的用户: 一个或多个具体用户 PUBLIC(全体用户) (4) WITH GRANT OPTION子句 指定了WITH GRANT OPTION子句: 获得某种权限的用户还可以把这种权限再授予别的用户。 没有指定WITH GRANT OPTION子句: 获得某种权限的用户只能使用该权限,不能传播该权限 例题 例1 把查询Student表权限授给用户U1 GRANT SELECT ON TABLE Student TO U1; 例题(续) 例2 把对Student表和Course表的全部权限授予用户U2和U3 GRANT ALL PRIVILIGES ON TABLE Student, Course TO U2, U3; 例4 例题(续) 例3 把对表SC的查询权限授予所有用户 GRANT SELECT ON TABLE SC TO PUBLIC; 例题(续) 例4 把查询Student表和修改学生学号的权限授给用户U4 GRANT UPDATE(Sno), SELECT ON TABLE Student TO U4; 例题(续) 例5 把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION; 传播权限 执行例5后,U5不仅拥有了对表SC的INSERT权限, 还可以传播此权限: GRANT INSERT ON TABLE SC TO U6 WITH GRANT OPTION; 同样,U6还可以将此权限授予U7: GRANT INSERT ON TABLE SC TO U7; 但U7不能再传播此权限。 U5-- U6-- U7 例题(续) 例6 DBA把在数据库S_C中建立表的权限授予用户U8 GRANT CREATETAB ON DATABASE S_C TO U8; 3.6 数据控制 概述 3.6.1 授权 3.6.2 收回权限 小结 SQ
文档评论(0)