用mysql创建student_dissertation

149 阅读3分钟

一、 程序设计内容及要求

课程设计
创建student_dissertation数据库,在该数据库中创建4张数据表:t_student(学生表)、t_department(专业表)、t_dissertation(课题表)、t_s_dissertation(选题表),它们表结构设计如下:

在这里插入图片描述在这里插入图片描述

2)对各表输入以下数据:
在这里插入图片描述在这里插入图片描述在这里插入图片描述

操作要求:
1、 为各表设置主键
2、 查询要求得到所有专业号为1的男生的学生信息
3、 查询得到所有电子系男生的学生信息
4、 创建视图,显示学生所选课题还未通过审批的信息
5、 创建存储过程,通过指定专业,返回该专业所有学生的基本信息
6、 创建触发器,当某课题被删除时,选题表中相关记录也同时被删除
7、 建立数据库相关表之间的参照完整性约束,均设置为级联

二、程序实现思路

1、建立数据库
2、建立四张表格,并且给是主键的插入主键PRIMARY KEY
3、往表格里用insert…values插入多条记录

V-R图:vr图

三、 程序清单或正文

1.表格插入记录及为各表设置主键在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.查询要求得到所有专业号为1的男生的学生信息

/查询要求得到所有专业号为1的男生的学生信息/
select * from t_student where departmentid = 1 and studentsex = ‘男’;在这里插入图片描述

3.查询得到所有的电子系男生的学生信息

/查询得到所有电子系男生的学生信息/
/查询得到所有电子系男生的学生信息/
select * from t_student where departmentid =
(select departmentid from t_department
where departmentname = ‘电子系’) and studentsex = ‘男’;
在这里插入图片描述

4.创建视图显示学生所选课题还未通过审批的信息

/创建视图,显示学生所选课题还未通过审批的信息/
create view new_view
as select * from t_s_dissertation where state = ‘待审批’;
select * from new_view;/查看视图/在这里插入图片描述

5.创建储存过程,通过指定专业,返回该专业的所有学生的基本信息

/创建存储过程,通过指定专业,返回该专业所有学生的基本信息/
DELIMITER //
create PROCEDURE pr_getmassage(IN departmentname1 char(50))
BEGIN
select * from t_student where t_student.departmentid in
(select departmentid from t_department where departmentname=departmentname1);
END;
//
CALL pr_getmassage(‘电子系’);

Delimiter;
CALL pr_getmassage(‘电子系’);
//;在这里插入图片描述

6.创建触发器,当某课题被删除时选题表中的相关记录也同时被删除

/创建触发器,当某课题被删除时,选题表中相关记录也同时被删除/
DELIMITER //
CREATE TRIGGER tr_deltable AFTER DELETE
ON t_dissertation FOR EACH ROW
BEGIN
DELETE from t_s_dissertation where t_s_dissertation.dissertationid =old.dissertationid;
END
//
DELETE from t_dissertation where dissertationid=‘Z001’;
Delimiter;
//;在这里插入图片描述

7.建立数据库相关表之间的参照完整性约束,均设置为级联

/建立数据库相关表之间的参照完整性约束,均设置为级联/
ALTER TABLE t_student ADD FOREIGN KEY (departmentid) REFERENCES t_department(departmentid) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE t_s_dissertation ADD FOREIGN KEY (studentid) REFERENCES t_student(studentid) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE t_s_dissertation ADD FOREIGN KEY (dissertationid) REFERENCES t_dissertation(dissertationid) ON DELETE CASCADE ON UPDATE CASCADE;
//在这里插入图片描述
欢迎您关注我的微信公众号:学习微站(studysth)在这里插入图片描述

文章知识点与官方知识档案匹配,可进一步学习相关知识

本文使用 文章同步助手 同步