十年

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

『数据库系统概论』学习笔记之五

第三章    关系数据库标准语言SQL
引言:
        因此章太繁杂,因此分为几篇来摘记,阅读前一篇请点击这里

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

后记:
        也许,一个人学习的过程是枯燥乏味的,因为你面对的不是如花似玉的美女,而只是一堆不会动的字符;也许你看到的文字也只是看过而已,并不会深入你的脑海,睡一觉你也就忘了;也许,你并不是真的想看你所看到的,只是为了某些人、某些事;也许。。。还有更多的也许。
 
         
    本文作者:Bonny.wong(让思想飞翔)
    文章出处:http://www.cnblogs.com
    写作时间:2005.3.3

posted on 2005-03-03 13:42  留不住的时光  阅读(2085)  评论(9编辑  收藏  举报