logo资料库

数据运维 实验3 数据库安全性与完整性控制实验.pdf

第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
资料共8页,全文预览结束
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 赋予 school 所有数据库所有表的 select 访问 权限,并设定 student 每小时最多可使用 select 操作访问数据库的次数。 在我使用的 MYSQL8.0 版本中不可以使用 with。 【实验 3-10】查看表 INFORMATION_SCHEMA.USER_PRIVILEGES 中有关 student 的信息,查看 user 表中的内容信息。
【实验 3-11】查看表 INFORMATION_SCHEMA.SCHEMA_PRIVILEGES,找到 student 在 school 数 据库下拥有的权限。
student 在 school 数据库下拥有 SELECT 的权限。 【实验 3-12】查看表 INFORMATION_SCHEMA.TABLE_PRIVILEGES,查找 school 数据库中 stuinfo 数据表相关的表权限。 【实验 3-13】查看表 INFORMATION_SCHEMA.COLUMN_PRIVILEGES,查找用户 sutdent 的其中 一条记录,其数据库为 school,表名为 stuinfo,列名为 stuno,查看其授予权限类型。 【实验 3-14】首先进入 school 数据库,如果没有,创建一个 school 数据库。 (1) 创 建 stuinfo 表, 包括 stuno varchar(10) (加 非 空约 束和 主键 约束 )、 stuname varchar(8)、stubir date、stuage int。
(2)创建表 course,包括 courno varchar(3)(非空约束)、courname varchar(10)、schyear date(非空约束)、credit int,主键为课程号 courno 和学年 schyear。 (3)创建 stuandcour 表,包括 stuno varchar(10)、courno varchar(3)、chono varchar(10), 定义其主键为选课号 chono,stuno 为外键,参考 stuinfo 中的 stuno 列。
(4)上述操作完成后,继续向 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 Workbench 中完成。 (2)将操作过程以屏幕抓图的方式复制,形成实验文档,并对照本章内容写出分析报告。
分享到:
收藏