学生选课管理系统(SQL Server+Java 解决选课冲突问题+附源码)

本文介绍了一个课程管理系统的数据库设计,包括学生、教师和管理员的功能需求,如选课、退课、成绩管理等。系统实现了用户界面,确保数据一致性,并提供了解决时间地点冲突的算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库设计任务


(1) 实现学生信息、课程信息、教师信息管理;
(2) 实现学生选课、退课功能;
(3) 实现教师及任课信息管理;
(4) 实现教师开课、录入成绩功能
(5) 实现管理员创建和删除学生和教师用户;
(6) 实现选课登记,要保证学生不能选修重复的课程(实用触发器实现);
(7) 创建存储过程统计各学生指定学期选修课程的总学分数;
(8) 创建视图查询2006-2007学年,没有被选修的课程;
(9) 创建存储过程统计各教师任课的学生人数;
(10) 具有数据备份和数据恢复功能。*

功能:

1.用户的需求:
学生:查询个人信息、修改密码、查询课程、选课、查询已选课程、查学期学分、查成绩
教师:查询个人信息、修改密码、开设课程、录入学生成绩、查询自己的课程、 加入或退出别的课程、取消开设的课程
管理员:添加教师用户和学生用户、删除教师和学生、查询教师和学生、选课通知
2.不允许重复的学号和工号;
3.学生完善个人信息后所在班级人数自动加减;
4.学生选课后该课程选课人数自动加减;
5.课程达到人数上限后,学生无法选此课;
6.选课人数未达到要求,教师可选择取消此门课
7.创建用户后自动添加到登陆表里

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

在这里插入图片描述

实体之间的联系

根据需求分析,归结出合适的联系:
1、一个学生能够选多门课,一门课可以被多个学生选;
2、一个老师能教多门课,一门课可以被多个老师教授;
3、一个学生属于一个班级,一个班级可以有多名学生

局部E-R图

(1)学生课程联系E-R图
在这里插入图片描述
(2)学生班级联系E-R图
在这里插入图片描述
(3)教师课程联系E-R图
在这里插入图片描述

总E-R图

在这里插入图片描述

数据字典

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

用户界面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
---------2019.9.30更新-----------------------------

关于解决时间地点冲突的算法

这是我后来在写web端时的一套实现方法,这里我就不详细说明了,各位可以参考参考
其核心思想就是设置一套有规则地编码,根据这个编码分部分判断
在这里插入图片描述

public boolean judgeExist(String Sno, String CourseCode, String CourseCodeSC) {
   
		String halfTerm1 = CourseCode.substring(0, 13);
		String halfTerm2 = CourseCode.substring(13, 26);
		String halfTermSC1 = CourseCodeSC.substring(0, 13);
		String halfTermSC2 = CourseCodeSC.substring(13, 26);

		if (judgeTerm(halfTerm1, halfTermSC1) || judgeTerm(halfTerm2, halfTermSC2)) {
   
			System.out.println(halfTerm1 + "," + halfTerm2 + "," + halfTermSC1 + ","
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值