学生选课系统数据库(8)
时间:2025-04-20
时间:2025-04-20
内容。 5.1 创建表
考虑到各个表之间的约束条件以及外键索引等要求,在创建表的时候应当按照一定的次序进行创建,否则会出现错误,还有一种方法是先创建各个基本表,然后在对特定的表添加列和外码约束,在本报告册中将采取第一种方法。 (1) tb_dept院系信息表
(2) tb_major专业信息表
(3) tb_student学生信息表
(4) tb_teacher教师信息表
(5) tb_manager管理员信息表
(6) tb_course课程信息表
(7) tb_stucourse学生选课信息表
(8) tb_control控制设置表
5.2 创建必要视图
(1) 建立学生成绩视图vi_grade,从学生、老师、选课表中选择Grade不为空的记录,其关键代码如下所示:
(2
) 建立专业学生信息视图vi_major,从学生、专业表中选择学生中的专业号码与专业表中专业号码相等的记录,其关键代码如下所示:
5.3 创建必要触发器
(1) 建立学生添加院系触发器tri_adddept,当该表中已存在所对应院系号码的院系时,系统给与错误提示并回滚,其关键代码如下所示:
(2) 建立学生添加专业触发器tb_major,当专业信息中的院系号不对或者该表中已存在所对应专业号码的专业时,
系统给与错误提示并回滚,其关键代码如下所示:
(3) 建立添加学生触发器tri_addstudent,当学生信息中的专业号不对或者系统中已存在所对应学号的学生时,系统给与错误提示并回滚,其关键代码如下所示:
(4
) 建立学生选课触发器tri_takecourse,课程选课人数超过40个或者对应学生选课门数超过5门或者当前时间不是选课时间段时,系统给与错误提示并回滚,其关键代码如下所示:
5.4 创建必要存储过程
(1) 建立学生选课存储过程tri_takecourse,其作用为查询所有学生的选课记录,其关键代码如下所示:
(2) 建立查询教师课程存储过程proc_teachercourse,其作用为查询指定教师所有课程的选课记录,其关键代码如下所示:
(3) 建立查询学生课程存储过程proc_studentcourse,其作用为查询指定学生所有课程的选课记录,其关键代码如下所示:
六、 总结
经过这一个学期数据库原理与应用的学习,我对数据库的使用更加顺手了,尤其是最近两个星期的数据库最后一个实验(数据库设计)给我带来了挑战,数据库设计的是一个系统,而非一两张表,因此在对待表与表之间的关系的时候要有一种宏观上的认识。
在设计这个数据库系统的时候我学到了许多新知识,如使用PowerDesign数据模工具对数据库逻辑结构的建立,转换为物理模型,然后连接到SQL Server,
再进行视图、触发器和存储过程的设计等。在使用过程中,查阅了不少资料,包括网上和书籍等,锻炼了我的自学能力!
下一篇:设备振动标准及其应用