1 . 实验五 数据库完整性与安全性实验 1 .1 实验目的 1. 通过对完整性规则的定义实现,熟悉了解Mysql 中完整性保证的规则和实现方法,加深对数据完整性的理解。 2. 通过对安全性相关内容的定义,熟悉了解Mysql 中安全性的内容和实现方法,加深对数据库安全性的理解 1 .2 实验内容 1 .2 .1 完整性实验 (1) 分别定义学生数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束; (2) 分别向学生表、课程表插入具有相同学号和相同课程编号的学生数据和课程数据,验证其实体完整性约束; (3) 向学生选课表中插入一条数据,课程编号是课程表中没有的,验证参照完整性约束; (4) 删除学生表中的所有数据,验证参照完整性约束; (5) 定义存储过程,完成查询某个学生的选课情况,并执行。 (6) 定义触发器,当向学生表插入新的一条记录时,将所有学生出生日期加1;并对其进行测试。 (7) 用 sql 完成以上操作。 1 .2 .2 安全性实验 (1) 定义一新的登陆帐号、数据库用户,并授予其访问学生数据库的读权限; (2) 分别用 sa 用户和新定义的用户访问学生数据库,并对其中的学生表数据进行修改; (3) 再次用此用户访问学生数据库,并对其中的学生表数据进行修改。 (4) 用 SQL 语句分别完成以上内容。 1 .3 实验环境 Window8 操作系统 Mysql 8.0 版本数据库 Mysql workbench 8.0 可视化工具 Mysql 命令行编辑器 1 .4 实验步骤及结果分析 1 .4 .1 完整性 1 .4 .1 .1 分别定义学生数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束 1. 首先因为在之前创建表的时候定义了主键,因此,我们需要先将所有表的主键撤销掉,然后重新创建主键。 My sql 语句(删除主键): alter table stu dent drop primary key ; alter table cou rse drop primary key ; alter table sc drop primary key ; 2. 重新创建主键 My sql 语句(创建主键): alter table stu dent add primary key (sno); alter table cou rse add primary key (cno); alter table sc add primary key (sno,cno); 3. 到此,我们已经重新添加了各表的主键,接下来我们为 SC 表添加外键。 My sql 语句(创建外键): alter table sc add constraint foreign key (sno) references stu dent(sno); al...