数据库运维 形考任务3 实验3 数据库安全性与完整性控制实验.docx
《数据库运维 形考任务3 实验3 数据库安全性与完整性控制实验.docx》由会员分享,可在线阅读,更多相关《数据库运维 形考任务3 实验3 数据库安全性与完整性控制实验.docx(9页珍藏版)》请在冰点文库上搜索。
实验3数据库安全性与完整性控制实验
1.实验目的
练习安全性授权方法、安全性和完整性查看的操作方法。
2.实验内容
【实验3-1】使用createuser创建用户,创建单个用户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数据库。
9
创建stuinfo表,包括stunovarchar(10()date、stuageint。
加非空约束和主键约束)、stunamevarchar(8)、stubir
创建表course,包括cournovarchar(3)(非空约束)、cournamevarchar(10)、schyeardate(非
空约束)、creditint,主键为课程号courno和学年schyear。
创建stuandcour表,包括stunovarchar(10)、cournovarchar(3)、chonovarchar(10),定义其主键为选课号chono,stuno为外键,参考stuinfo中的stuno列。
上述操作完成后,继续向stuandcour数据表中添加新的字段schyeardate,添加外键(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.实验结果