《《数据库系统概论》实验报告三》由会员分享,可在线阅读,更多相关《《数据库系统概论》实验报告三(28页珍藏版)》请在金锄头文库上搜索。
1、数据库系统概论实验报告三 (一)授权与回收。l例1】授权。在 KingbaseES 中建立多个 用户,给他们赋予不同的权限,然后查看是 否真正拥有被授予的权限了。 1) 建立用户 U1、U2、U3、U4、U5、 U6、U7,选择全部为 Connect 角色。 l打开企业管理器后,安全性右键单击用户 新建数据库用户确定完成。2) 在 SYSTEM(即 DBA)与七个 Connect 用户之间进行授权。l例 1-1把查询 Student 表的权限授给用户 U1 。 因为当前用户即为 SYSTEM,所以直接写 授权语句即可。lRANT SELECT ON TABLE “STUDENT“ TO U1;
2、 l图3-4为企业管理器的授权方法l图3-5为查询管理器的授权方法PS:注意区分大小写,在PUBLIC下建表 STUDNT,COURSE,SC,TEACHER,DEPT图3-4图3-5下面的例子只介绍企业管理器的使用方法 ,查询管理器操作方法参考例1-1例 1-2把对 Student 表和 Course 表的全 部操作权限授予用户 U2 和 U3。 例 1-3把对表 SC 的查询权限授予所有用 户。例 1-4把查询 Student 表和修改学生学号 的权限授给用户 U4。这个最好用查询管理器输入程序,运行一下 例 1-5把对表 SC 的 INSERT 权限授予 U5,并允许 U5 将此权限再授
3、予其他用户 。例 1-6用户 U5 将对表 SC 的 INSERT 权 限授予 U6,并允许将权限转授给其他用户 。 首先应该以 U5 的身份重新登录数据库 ,然后再进行授权。 例 1-7用户 U6 将对表 SC 的 INSERT 权 限授予 U7。 首先应该以 U6 的身份重新登录数据库, 然后再进行授权。3) 在授权之后验证用户是否拥有了 相应的权限。 在执行完上面七个语句 之后,我们可以分别以不同用户的身份 登录数据库,进行相关操作,检查系统 是否许可。例 1-8U4 更新 Student 表的学生学号。l注意首先要用U4登陆,然后要先在STUDENT 表里添加一行数据l这里只能用查询分
4、析器来做,例子给的程序没 加引号运行成功后SNO变成95101 显示更新 1 条记录,即 U4 用户拥有了对 Student 表 Sno 的更新权限。例 1-9U7 向 SC 表中插入一条数据:( 95020,20,88)。一样是先登录U7【例2】 回收权限。将【例 1】授予 的权限部分收回,检查回收后,该用 户是否真正丧 失了对数据的相应权限 。1) 回收权限。 例 2-1 收回用户 U5 对 SC 表的 INSERT 权限。当前用户为 SYSTEM 例 2-2用户 U6 向表 SC 中插入一条记录 (95035,3,92)。 首先用户 U6 重新登录 数据库 TEST。lPS:将权限 IN
5、SERT 授予给用户 U5 时,允许 该用户将权限再授予给其他用户;之后,用户 U5 将 INSERT 权限转授给了 U6,U6 又将权 限转授给 U7。因此,将用户 U5 的 INSERT 权 限收回的时候必须级联收回,不然系统将 拒绝执行该命令 。所以这里用U6执行失败,该用户不拥有此权限。证实用 户 U6 丧失了从用户 U5 处获得的对表 SC 插 入的权限。在 KingbaseES 中除了预定义的 DBA、RECOURSE 和 CONNECT 三个角色之外,并不 存在角色的概念,但提供 了“用户组”的概念。“用户组”的功能与“角色”有着相似之 处。 下面我们将有关“角色”的实验用“用户组”来实现。(二)数据库角色。【例 3】用户组的创建与授权。 l例 3-1创建用户组 G1 例 3-2给用户组授权,使得用户组 G1 拥 有对 Student 表的 SELECT、UPDATE、 INSERT 的 权限 例 3-3将用户 U1,U3,U7 添加到用户组 G1 中来。例 3-4对用户组 G1 的权限进行修改,增 加对 Student 表的 DELETE 权限,并回收 对 Student表的 INSERT 权限。GOOD BYE