数据库系统概论 学习笔记(三)第四部分

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的理解和运用都能更上一层楼。

后记:
          也许,一个人学习的过程是枯燥乏味的,因为你面对的不是如花似玉的美女,而只是一堆不会动的字符;也许你看到的文字也只是看过而已,并不会深入你的脑海,睡一觉你也就忘了;也许,你并不是真的想看你所看到的,只是为了某些人、某些事;也许。。。还有更多的也许。
 

你可能感兴趣的:(数据库系统概论 学习笔记(三)第四部分)