【题目基础】
建立教学数据库的三个基本表并用INSERT 语句输入数据(注意实现参照完整性,学号课程号为主键,添加参照完整性约束:成绩在0-100之间):
```
S(Sno,Sname,Ssex,Sage,Sdept) 学生(学号,姓名,性别,年龄,系)
SC(Sno,Cno,Grade) 选课(学号,课程号,成绩)
C(Cno,Cname, Ccredit) 课程(课程号,课程名,学分)
【数据库建立】
【数据】
S表数据如下(其余数据自行补充):
201215121’, ‘李莉’, ‘男’, 20, ‘CS’
‘201215122’, ‘刘星’, ‘女’, 19, ‘CS’
‘201215123’, ‘王浩然’, ‘女’, 18, ‘MA’
‘201215125’, ‘张立’, ‘男’, 19, ‘IS’
201215124 王强 男 22 ‘CS’
201215120 李爽 男 20 CS
C表数据如下:
‘1’, ‘数据库’, 4
‘2’, ‘数学’, 2
‘3’, ‘信息系统’, 4
‘4’, ‘操作系统’, 3
‘5’, ‘数据结构’, 4
‘6’, ‘数据处理’, 2
‘7’, ‘C语言’, 4
SC表(其余数据自行补充):
‘201215122’, ‘3’, 80
‘201215122’, ‘2’, 90
‘201215121’, ‘3’, 88
‘201215121’, ‘1’, 91
‘201215121’, ‘2’, 85
‘201215121’, ‘5’, 94
‘201215123’, ‘3’, 88
‘201215123’, ‘1’, 92
‘201215123’, ‘7’, 100
‘201215125’, ‘1’, 92
‘201215125’, ‘6’, 77
‘201215125’, ‘2’, 79
‘201215125’, ‘4’, 72
‘201215125’, ‘3’, 99
‘201215125’, ‘5’, 58
‘201215125’, ‘7’, 81
201215124’, ‘1’, 55
201215124’, ‘3’, 81
201215124’, ‘6’, 89
201215124’, ‘2’, 75
201215124’, ‘4’, 81
201215123’, ‘4’, 89
201215120’, ‘1’, 88
【实验题目】
3.在 S 和 SC 表中删除学号为 201215122 的所有数据
4.建立男学生的视图,属性包括学号、姓名、选修课程名和成绩。
5.在男学生视图中查询平均成绩大于 80 分的学生学号与姓名。
7.使用 GRANT 语句,把对基本表 S、SC、C 的使用权限授给其它用户。
1.首先解除S表和SC表的参照关系。然后在Student表上创建一个触发器,使更新一个学生的学号信息时能够级联的更新此学生在SC表中的选课记录的学号信息,并进行验证
【删除参照关系】
alter table sc drop foreign key sc_ibfk_1;
#sc 表名
#sc_ibfk_1 参照关系 外键名
2.首先解除S表和SC表的参照关系。然后在Student表上创建一个触发器,使删除一个学生时能够级联的删除此学生在SC表中的选课记录,并进行验证。
3.在 SC 表上编写 update 触发器,当修改 SC 表中的 Grade 字段时将其修改前后的信息保存在 SC_log 表中。