|
3.6 数据控制
SQL中数据控制功能包括事务管理功能和数据保护功能,即数据库的恢复、并发控制;数据库的安全性和完整性控制。 DBMS的安全性控制功能: (1)把授权的决定告知系统,由SQL的GRANT和REVOKE语句完成; (2)把授权的结果存入数据字典; (3)当用户提出操作请求时,根据授权情况进行检查,以决定是否执行操作请求。
3.6.1 授权 格式:GRANT <权限>[,<权限>]... [ON <对象类型><对象名>] TO<用户>[,<用户>]... [WITH GRANT OPTION]; 语义:将对指定操作对象的指定操作权限授予指定的用户。 说明:如果指定了WITH GRANT OPTION子句,则获得某种权限的用户还可以把此权限授予其他的用户,这里的用户是指已经建立的用户(或用户组),Public代表所有用户。
一、不同对象类型允许的操作权限 数据库:CREATETAB,此权限用于建立表。 基本表:SELECT、INSERT、UPDATE、DELETE、ALTER、INDEX以及这六种权限的各(ALL Privileges); 属性列和视图:查询(Select)、插入(INSERT)、修改(UPDATE)、删除(DELETE)以及四种权限的总和(ALL PRIVILEGES);
二、实例
--把查询Employees表的权限授予用户刘备:
Grant Select ON Table Employees To 刘备
--把查询Employees和Programs表权限授予所有用户:
Grant Select ON Table employees, Programs To Public
--把查询Employees和修改Employees中职员姓名的权限授给用户刘备:
Grant Select, Update(Ename) ON Table Employees To 刘备
--把对表Programs的插入权限授予用户刘备,并允许他将此权限再授予其他用户:
Grant Insert ON Table Programs To 刘备 With Grant Option
3.6.2 收回权限 格式:Revoke <权限>[,<权限>]... [ON <对象类型><对象名>] From <用户>[, <用户>]... 说明:如果被回收用户有将权限授予其他用户,那么其他用户所继承的权限也会被收回。
--把用户刘备查询Employees的权限收回
Revile Select ON Table Employees From 刘备
--收回所有用户对表Programs的查询权限
Revoke Select ON Table Programs From Public
本章小结: 通过这章的学习,更加深刻的理解了数据库标准语言SQL的简单易用,功能强大等特点,以及进一步掌握了各种数据库定义、数据库查询、数据更新、数据控制等具体的SQL语言操作。最后希望和我一同学习的人对SQL的理解和运用都能更上一层楼。
|