数据库课设

基于C#和MySQL数据库实现的高校教务管理系统

系统结构

        系统一共设置了三种用户(管理员,教师,学生),实现三层管理结构(管理员管理教师信息,教师管理学生信息,学生则仅是查询自身的信息),简化设计,便于实现。三种用户均通过登录的方式进入系统界面,使用相应的功能。这里仅给出部分的设计以及系统展示,详细设计可以参考我们的小组课设: 数据库课程设计——高校教务管理系统-CSDN博客      系统在小组课设的基础上修改了一些内容。

        管理员端功能:自身账户管理(包括修改密码,注销账号),教师信息管理(包括添加,修改,删除教师),系统反馈信息处理(包括教师反馈和学生反馈),学院信息管理(包括添加,修改,删除学院),毕业要求(包括学分要求和绩点要求)。

        教师端功能:课程信息管理(包括添加,修改,删除课程信息以及授课信息),学生信息管理(包括添加,修改,删除学生),成绩管理(包括设置课程成绩),反馈到管理员,添加专业。

        学生端功能:选课/退课,学生成绩(包括选修课程成绩,平均学分绩点),学生信息(包括学籍信息),学院和专业(包括学院,专业),反馈到管理员。

        系统中创建了许多窗体来作为GUI进行交互,窗体文件如下所示:(Form1为登录界面,其余的见名知意)

图 1 系统窗口界面文件

        另外,单独写了一个Dao类来实现数据库连接(Visual Studio中直接连接MySQL有些困难,直接用代码连接容易些。不过注意:需要先装MySQL.Data)。项目中还用res文件夹存放项目资源文件(有几张可以作为界面背景的图片)。项目总体结构如下所示:

图 2系统项目总体结构

数据库设计

        根据系统需要实现的功能综合分析,一共设计了11张表。如下所示:

图 3 系统数据库表

图 4 系统数据库表的具体设计

        注意:数据表的设计并没有严格遵循范式规则,有很大改进空间。

        设计了一个触发器,用来当学生选了某门课程后将授课表中“选课人数”字段自动加1。触发器的设置不止这么一个,可以有许多,例如修改或删除了某学生的信息后需要同步更新选课表sc,修改或删除了某教师的信息后需要同步更新授课表sk等等,读者可以自行按需求扩展。

        设计了一个studentcourseinfo视图,用于快速查询一些有关学生的信息.其中status为该学生这门课程的通过情况。同样,视图也可以按需扩展。

图 5 studentcourseinfo视图

        另外,可以设计存储函数来实现特定的查询,例如学生的成绩以及平均学分绩点。这里并没有设计存储过程。可以参考我们小组当时的课设报告,那个版本的系统数据库设计了存储过程。

系统展示

        管理员端:

图 6 管理员主界面和添加教师界面

图 7 修改删除教师界面

图 8 反馈信息处理界面

图 9 添加学院和修改/删除学院

图 10 设置毕业要求界面

        教师端:

图 11 教师主界面和添加/删除/修改课程界面

图 12 添加学生和修改/删除学生界面

图 13 设置课程成绩/反馈信息/添加专业界面

        学生端:

图 14 学生主界面和选课/退课界面

图 15 选修课程成绩查询以及反馈信息界面

图 16 学生基本信息弹窗提示

        登录界面

图 16 教务系统登录界面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值