国家开放大学2024春《数据库运维》实验3 数据库安全性与完整性控制实验参考答案

2024年6月1409:58:29发布者:国开文档专家 314 views 举报
总字数:约4406字
第1页

第2页

第3页

第4页

实验 3 数据库安全性与完整性控制实验

1.实验目的

练习安全性授权方法、安全性和完整性查看的操作方法。

2.实验内容

【实验 3-1】使用 create user 创建用户,创建单个用户 teacher,创建两个用户 teacher1 和 student。

【实验 3-2】通过直接操作 MySQL 用户表创建用户,创建单个用户 teacher2,创建两个用户 teacher3 和

student2(请注意,新版的 MySQL 可能不支持使用此方法创建新用户)。

【实验 3-3】新建一个 terminal 窗口,使用 mysql –u –h -p 方式登录 teacher。

【实验 3-4】再次新建一个 terminal 窗口,使用 mysql –u –h -p 方式登录 student。

【实验 3-5】使用 GRANT 语句对用户 student 赋予所有数据库所有表的 insert 权限和 update 权限。

【实验 3-6】使用 GRANT 语句对用户 student 赋予 school 数据库所有表的 select 权限。

【实验 3-7】使用 GRANT 语句对用户 student 赋予 school 数据库 stuinfo 表的 create 访问权限。

【实验 3-8】使用 GRANT 语句对用户 student 赋予 school 数据库 stuinfo 表的 stuno 列上的 select 访问权限。

【实验 3-9】使用 GRANT 语句对用户 student 赋予 s 所有数据库所有表的 select 访问权限,并设定 student 每

小时最多可使用 select 操作访问数据库的次数。

【实验 3-10】查看表 INFORMATION_SCHEMA.USER_PRIVILEGES 中有关 student 的信息,查看 user 表中的

内容信息。

【实验 3-11】查看表 INFORMATION_SCHEMA.SCHEMA_PRIVILEGES,找到 student 在 school 数据库下拥

有的权限。

【实验 3-12】查看表 INFORMATION_SCHEMA.TABLE_PRIVILEGES,查找 school 数据库中 stuinfo 数据表相

关的表权限。

【实验 3-13】查看表 INFORMATION_SCHEMA.COLUMN_PRIVILEGES,查找用户 sutdent 的其中一条记录,

其数据库为 school,表名为 stuinfo,列名为 stuno,查看其授予权限类型。

【实验 3-14】首先进入 school 数据库,如果没有,创建一个 school 数据库。

创 建 stuinfo 表 , 包 括 stuno varchar(10) ( 加 非 空 约 束 和 主 键 约 束 ) 、 stuname varchar(8) 、 stubir

date、stuage int。

创建表 course,包括 courno varchar(3)(非空约束)、courname varchar(10)、schyear date(非空约束)、

credit int,主键为课程号 courno 和学年 schyear。

创建 stuandcour 表,包括 stuno varchar(10)、courno varchar(3)、chono varchar(10),定义其主键为选课

号 chono,stuno 为外键,参考 stuinfo 中的 stuno 列。

上述操作完成后,继续向 stuandcour 数据表中添加新的字段 schyear date,添加外键(courno,schyear)参

照 course 表中的 courno,并删除时置空值。

【实验 3-15】查看表 INFORMATION_SCHEMA.TABLES——存放数据库中所有数据库表信息,所得到的记录

值有很多条,然后观察其内部字段表示,进一步筛选表名为 stuinfo 的记录,school 数据库 stuinfo 表的所有基

本信息都在这里描述。

【实验 3-16】查看表 INFORMATION_SCHEMA.TABLE_CONSTRAINTS——存放表中所存在的约束信息。进

一步筛选表名为 stuandcour 的记录信息,可以看到关于该表有三条约束信息,与我们设定的一样,其拥有两个

外键和一个主键。尽管这三种约束涉及四个列字段,但是基于表层面还是三个约束,因为有一个外键是由两个列

组成的。

【实验 3-17】查看表 INFORMATION_SCHEMA.KEY_COLUMN_USAGE——存放数据库里所有具有约束的键

信息,然后通过对表名筛选,选出表 stuandcour 的所有以列为单位的约束信息,通过观察可以得出该查询结果

与 table 级别约束的查询结果个数不同,这里出现四个结果,列名 COLUMN_NAME 部分涉及 stuandcour 表中

所有约束包含的全部列。据我们所知,stuandcour 表的主键为 chono,为第一行结果;第一个外键只有一列,

该列为 stuno,出现在第 行结果;第 个外键含有两列,分别为 courno、schyear,出现在第三行、第四行。

3.实验要求

(1)所有操作 命令 或者 MySQL W or k bench 中完成。

(2) 操作过程以 屏幕抓图 的方式 复制 成实验 文档 ,并对照本 内容 出分 析报告

答案:

1.实验目的

练习安全性授权方法、安全性和完整性查看的操作方法。

2.实验内容

【实验 3-1】使用 create user 创建用户,创建单个用户 teacher,创建两个用户 teacher1 和 student。

国家开放大学2024春《数据库运维》实验3 数据库安全性与完整性控制实验参考答案

【实验 3-2】通过直接操作 MySQL 用户表创建用户,创建单个用户 teacher2,创建两个用户

teacher3 和 student2(请注意,新版的 MySQL 可能不支持使用此方法创建新用户)。

国家开放大学2024春《数据库运维》实验3 数据库安全性与完整性控制实验参考答案

【实验 3-3】新建一个 terminal 窗口,使用 mysql –u –h -p 方式登录 teacher。

国家开放大学2024春《数据库运维》实验3 数据库安全性与完整性控制实验参考答案

【实验 3-4】再次新建一个 terminal 窗口,使用 mysql –u –h -p 方式登录 student。

国家开放大学2024春《数据库运维》实验3 数据库安全性与完整性控制实验参考答案

【实验 3-5】使用 GRANT 语句对用户 student 赋予所有数据库所有表的 insert 权限和 update 权限。

国家开放大学2024春《数据库运维》实验3 数据库安全性与完整性控制实验参考答案

【实验 3-6】使用 GRANT 语句对用户 student 赋予 school 数据库所有表的 select 权限

国家开放大学2024春《数据库运维》实验3 数据库安全性与完整性控制实验参考答案

【实验 3-7】使用 GRANT 语句对用户 student 赋予 test 数据库 stuinfo 表的 create 访问权限。

总页数:11
提示:下载前请核对题目。客服微信:homework51
标题含“答案”文字,下载的文档就有答案
特别声明:以上内容(如有图片或文件亦包括在内)为“电大之家”用户上传并发布,仅代表该用户观点,本平台仅提供信息发布。