数据库实验--数据修改、删除与视图,触发器

数据库实验

数据修改、删除与视图

【题目基础】
建立教学数据库的三个基本表并用INSERT 语句输入数据(注意实现参照完整性,学号课程号为主键,添加参照完整性约束:成绩在0-100之间):
```
S(Sno,Sname,Ssex,Sage,Sdept) 学生(学号,姓名,性别,年龄,系)
SC(Sno,Cno,Grade) 选课(学号,课程号,成绩)
C(Cno,Cname, Ccredit) 课程(课程号,课程名,学分)
【数据库建立】
数据库实验--数据修改、删除与视图,触发器_第1张图片
数据库实验--数据修改、删除与视图,触发器_第2张图片

【数据】
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张图片
数据库实验--数据修改、删除与视图,触发器_第4张图片

【实验题目】

  1. 把 1 号课程的非空成绩提高 5%。
    数据库实验--数据修改、删除与视图,触发器_第5张图片
    修改前 和 修改后数据库实验--数据修改、删除与视图,触发器_第6张图片
    2.在 SC 表中删除课程名为数据结构的成绩的元组。

数据库实验--数据修改、删除与视图,触发器_第7张图片

修改前:
数据库实验--数据修改、删除与视图,触发器_第8张图片
修改后:
数据库实验--数据修改、删除与视图,触发器_第9张图片

3.在 S 和 SC 表中删除学号为 201215122 的所有数据
数据库实验--数据修改、删除与视图,触发器_第10张图片
数据库实验--数据修改、删除与视图,触发器_第11张图片
4.建立男学生的视图,属性包括学号、姓名、选修课程名和成绩。
数据库实验--数据修改、删除与视图,触发器_第12张图片
数据库实验--数据修改、删除与视图,触发器_第13张图片

5.在男学生视图中查询平均成绩大于 80 分的学生学号与姓名。
数据库实验--数据修改、删除与视图,触发器_第14张图片

6.计算每个学生有成绩的课程门数、平均成绩。
数据库实验--数据修改、删除与视图,触发器_第15张图片

7.使用 GRANT 语句,把对基本表 S、SC、C 的使用权限授给其它用户。

首先创立一个用户:
在这里插入图片描述
然后设置权限
数据库实验--数据修改、删除与视图,触发器_第16张图片

触发器

1.首先解除S表和SC表的参照关系。然后在Student表上创建一个触发器,使更新一个学生的学号信息时能够级联的更新此学生在SC表中的选课记录的学号信息,并进行验证
【删除参照关系】

alter table sc drop foreign key sc_ibfk_1;
#sc  表名
#sc_ibfk_1   参照关系  外键名

数据库实验--数据修改、删除与视图,触发器_第17张图片
在这里插入图片描述

数据库实验--数据修改、删除与视图,触发器_第18张图片
数据库实验--数据修改、删除与视图,触发器_第19张图片
2.首先解除S表和SC表的参照关系。然后在Student表上创建一个触发器,使删除一个学生时能够级联的删除此学生在SC表中的选课记录,并进行验证。
数据库实验--数据修改、删除与视图,触发器_第20张图片
数据库实验--数据修改、删除与视图,触发器_第21张图片
数据库实验--数据修改、删除与视图,触发器_第22张图片
数据库实验--数据修改、删除与视图,触发器_第23张图片
3.在 SC 表上编写 update 触发器,当修改 SC 表中的 Grade 字段时将其修改前后的信息保存在 SC_log 表中。

数据库实验--数据修改、删除与视图,触发器_第24张图片
数据库实验--数据修改、删除与视图,触发器_第25张图片
数据库实验--数据修改、删除与视图,触发器_第26张图片
数据库实验--数据修改、删除与视图,触发器_第27张图片

你可能感兴趣的:(MySQL数据库基础操作,数据库,mysql,sql)