数据库三 数据安全管理–视图、访问控制

【实验名称】:数据安全管理–视图、访问控制

【实验目标】:

  1. 理解视图消解机制;
  2. 理解视图的可更新性;分析更新过程中出现失败的原因;
  3. 理解视图的安全性支持。
  4. 学会使用grant和revoke命令来操作用户的权限,包括系统、对象等权限;
  5. 理解基于角色的访问控制;

【实验具体要求】:

  1. 视图
  1. 视图的消解与更新
    1. 根据学生表、教师表、课程表、学生选课表,创建一个包含学号、学生姓名、课程号、课程名称、学分、任课教师工号、任课教师姓名的视图v_stu_lesson;
    2. 对视图v_stu_lesson进行查询操作,查询教师号为3的老师所教授课程的学生选课信息,包含视图所有字段
    3. 对学生表、教师表、课程表、学生选课表进行联合查询操作,查询教师号为3的老师所教授课程的学生选课信息,包括学号、学生姓名、课程号、课程名称、学分、任课教师工号、任课教师姓名;(理解视图消解机制)
    4. 更新视图v_stu_lesson,更新课程4的学分为3分,分析更新操作可以执行成功或失败的原因;
    5. 更新视图v_stu_lesson,将教授课程1的老师变为teachnum为2,分析更新操作可以执行成功或失败的原因;
  2. 视图授权
    1. 由课程表创建一个只有‘C++编程’的课程信息的视图 v_c_lesson
    2. 将v_c_lesson的查询和修改权限授予一个新用户user_03,并测试查询和修改操作在授权前后的执行情况
  1. 权限
  1. 使用root用户登录MYSQL数据库系统,创建数据库role_demo,创建表t1和t2,分别创建user1和user2两个用户,user1具有t1的insert,t2的select权限;user2具有t1的select,t2的INSERT权限;
  2. 使用user1用户登录系统,user1能查看t1表吗?使用user2用户登录系统,user2能对查看t1、t2表吗?
  3. 现在交换两个用户的权限(撤回重新授权,麻烦)
  4. 删除user1和user2
  1. 角色

(1)创建两个角色,角色1具有t1的insert,t2的select权限;角色2具有t1的select,t2的INSERT权限;

(2)创建user1和user2,将角色1分配给user1,角色2分配给user2

(3)使用user1用户登录系统,user1能查看t1表吗?使用user2用户登录系统,user2能对查看t1、t2表吗?

(4)现在交换两个用户的权限(交换角色即可)

【实验步骤】:

(1)视图的消解与更新

1)根据学生表、教师表、课程表、学生选课表,创建一个包含学号、学生姓名、课程号、课程名称、学分、任课教师工号、任课教师姓名的视图v_stu_lesson;

2)对视图v_stu_lesson进行查询操作,查询教师号为3的老师所教授课程的学生选课信息,包含视图所有字段

3)对学生表、教师表、课程表、学生选课表进行联合查询操作,查询教师号为3的老师所教授课程的学生选课信息,包括学号、学生姓名、课程号、课程名称、学分、任课教师工号、任课教师姓名;(理解视图消解机制?

4)  更新视图v_stu_lesson,更新课程4的学分为3分,分析更新操作可以执行成功或失败的原因;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值