山东大学《数据库系统》实验八

数据库系统 专栏收录该内容
9 篇文章 1 订阅

实验题目:

提交 commit 和回滚 rollback、实体授权

实验目的:

对比有无索引情况下数据检索速度,学会如何能够使用索引,掌握如何查询是否使用索引了。

实验原理和方法:

启动两个不同浏览器,主账号 userID 在 firefox 中登录、备用账号 userbID 在另外一个浏览器登录,或者主账号在主平台登录,备用账号在备平台登录,或者主账号和备用账号分别在两台电脑登录。
测试提交 commit 和回滚 rollback 的作用,了解锁等待、授权等知识。

具体操作在实验指导书里,早就删了emm嫌麻烦可以跳过直接把下面的结果插到表里提交就可以了

实验步骤:

1. 使用主用户 userID 登录数据库,简称主窗口。
2. 使用备用用户 userbID 登录数据库,简称备用窗口。
3. 关闭自动提交复选框。按【提交】执行 commit,按【回滚】执行 rollback。
4. 主用户访问备用用户的表之前,需要在备用账号中将相应的表的相应的权限授权给主用户,这样主用户才可以查询操作备用用户的相应的表。
在主用户下可以执行 select * from userbId.test8_00 查询备用用户的表 test8_00 的数据,如果没有授权,则会提示表没有表找到。
如果备用用户执行 grant select on test8_00 to userID,即授权表 test8_00 的 select 权限给用户userID,上面的查询语句就可以正确执行,并查询到相应的结果。
5. 常用的授权、命令:
grant select on test8_00 to userID 授权表 test8_00 的 select 权限给用户 userID。
grant update on test8_00 to userID 授权表 test8_00 的 update 权限给用户 userID。
grant insert on test8_00 to userID 授权表 test8_00 的 insert 权限给用户 userID。
grant delete on test8_00 to userID 授权表 test8_00 的 delete 权限给用户 userID。
grant all on test8_00 to userID 授权表 test8_00 的 all 权限给用户 userID。
revoke select on test8_00 from userID 收回表 test8_00 的 insert 权限从用户 userID。
在备用用户下将 pub.teacher 复制到 test8_00 中,然后将其所有权限给主用户。
create table test8_00 as select * from pub.teacher
grant all on test8_00 to user201800301106
按表中序号在相应窗口执行对应的命令(主用户访问备用用户表需要授权)。
8. 假设数据中有张老师,通过上面的操作以后,他在每次查询的时候的年龄是多少?根据你的判断得出结果,然后按步骤进行实验验证,在主用户下创建一个表 test8_10, 插入 10 行数据,分表存放 10 个结果。
建表:create table test8_10(test varchar(20),age numeric(3))
依次插入实验所得数据,结果如下:
Test8_10:
在这里插入图片描述

结论分析与体会:

要按实验指导中表格内的顺序执行,commit和rollback的时机不对会导致整个题目的答案错误,所以实验时一定要细心,争取一次做对。

就实验过程中遇到和出现的问题,你是如何解决和处理的,自拟1-3道问答题:

Q:有一行数据错误,如何纠错?
A:第一种是推翻重来,第二种是跟预期答案进行比对,手动纠正,再从发生错误处进行验证。

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值