zoukankan      html  css  js  c++  java
  • 数据库作业12:第四章:数据库安全性 习题

    6 对下列两个关系模式:
    学生(学号,姓名,年龄,性别,家庭住址,班级号)
    班级(班级号,班级名,班主任,班长)
    使用GRANT语句完成下列授权功能:
    授予用户U1对两个表的所有权限,并可给其他用户授权。

    grant all privileges
    on student,class
    to U1
    with grant option;
    

    授予用户U2对学生表具有查看权限,对家庭住址具有更新权限。

    grant select,update(adress)
    on student
    to U2;
    

    将对班级表查看权限授予所有用户。

    grant select
    on class
    to public;
    

    将对学生表的查询、更新权限授予角色R1。

    create role R1;
    grant select,update
    on student
    to R1;
    

    将角色R1授予用户U1,并且U1可继续授权给其他角色。

    grant R1
    to U1
    with grant option;
    

    7 今有以下两个关系模式:
    职工(职工号,姓名,年龄,职务,工资,部门号)
    部门(部门号,名称,经理名,地址,电话号)
    请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或者存取控制功能:
    用户王明对两个表有SELECT权限。

    grant select
    on worker
    to WangMing
    grant select
    on apartment
    to WangMing;
    

    用户李勇对两个表有INSERT和DELETE权限。

    grant insert,delete
    on worker
    to Liyong
    grant insert,delete
    on apartment
    to Liyong;
    

    每个职工只对自己的记录有SELECT权限。

    grant select
    on worker
    to public;
    

    用户刘星对职工表有SELECT权限,对工资字段具有更新权限。

    grant select,update(salary)
    on worker
    to Liuxing;
    

    用户张新具有修改这两个表的结构的权限。

    grant update
    on worker
    to Zhangxin
    grant update
    on apartment
    to Zhangxin;
    

    用户周平具有对这两个表的所有权限(读、插、改、删数据),并具有给其他用户授权的权限。

    grant all privileges
    on worker
    to Zhouping
    with grant option;
    grant all privileges
    on apartment
    to Zhouping
    with grant option;
    

    用户杨兰具有从每个部门职工中SELECT最高工资,最低工资,平均工资的权限,他不能查看每个人的工资。

    create view sala
    as
    select(max(salary),min(salary),avg(salary))
    from worker,apartment
    where worker.ano=apartment.ano;
    grant select
    on sala
    to Yanglan;
    

    8、针对2,撤销各用户所授予的权限。
    用户王明对两个表有SELECT权限。

    revoke select
    on worker
    from WangMing
    revoke select
    on apartment
    from WangMing;
    

    用户李明对两个表有INSERT和DELETE权限。

    revoke insert,delete
    on worker
    from Liming
    revoke insert,delete
    on apartment
    from Liming;
    

    每个职工只对自己的记录有SELECT权限。

    remove select on 职工
    when user()=name
    form all;
    

    用户刘星对职工表有SELECT权限,对工资字段具有更新权限。

    revoke select,update(salary)
    on worker
    from Liuxing;
    

    用户张新具有修改这两个表的结构的权限。

    revoke update
    on worker
    from Zhangxin
    revoke update
    on apartment
    from Zhangxin;
    

    用户周平具有对这两个表的所有权限(读、插、改、删数据),并具有给其他用户授权的权限。

    revoke all privileges
    on worker
    from Zhouping
    with grant option;
    revoke all privileges
    on apartment
    from Zhouping
    with grant option;
    

    用户杨兰具有从每个部门职工中SELECT最高工资,最低工资,平均工资的权限,他不能查看每个人的工资。

    revoke select
    on sala
    from Yanglan;
    
  • 相关阅读:
    Metasploit基本命令
    Metasploit体系框架与技术模块
    Linux之grep、egrep、fgrep
    python基础-函数详解
    windows用户管理与服务器远程管理
    python基础-三分钟彻底搞懂 集合
    linux之bash特性及脚本编程基础
    location.reload(); 刷新页面 javascript:void(0)禁止点击 read.onload=function ()等待函数完成执行 { $('#img-file').attr('src', read.result) 修改图片属性
    auth模块进行验证登录,forms进行输入和后台进行渲染,novalidate前台不验证
    跨域问题,ajax上传下载文件,cookie实现登录验证,session实现登录验证,
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13285169.html
Copyright © 2011-2022 走看看