# 基于Java和Mysql的学生成绩管理系统
# 一、相关技术介绍
- **开发环境**:Windows 10
- **数据库管理系统**:Mysql
- **开发工具**:Intel IDEA
- **运行环境**:Windows 10以及更高版本
- **系统结构**:C/S
# 二、系统需求分析
## 2.1 业务流程
用户登陆到系统后,在本系统中可以选择进行考试成绩录入、补考成绩录入、重修成绩录入,或查看总评成绩单、补考通知单、补考成绩单、重修通知单、重修成绩单、优秀学生名单等…
## 2.2 功能需求
- 用户能够登入本系统
- 用户可以在系统中录入考试成绩
- 用户可以在系统中录入补考成绩
- 用户可以在系统中录入重修成绩
- 用户可以在系统中查看总评成绩单
- 用户可以在系统中查看补考通知单
- 用户可以在系统中查看补考成绩单
- 用户可以在系统中查看重修通知单
- 用户可以在系统中查看重修成绩单
- 用户可以在系统中查看优秀学生名单
## 2.3 信息需求
- 进行成绩录入时不允许存在列值为空
- 进行成绩录入时需保证学生学号、姓名、选课的一致性
## 2.4 安全性与完整性需求
数据库上信息的安全性由数据库管理系统进行保证,完整性则主要由编程语句来体现。
## 2.5 数据字典
| 数据项名称 | 别名 | 类型 | 含义说明 |
| ----- | -------------- | -------- | ---------- |
| 学号 | s_no | Char(8) | 学生的唯一标识 |
| 姓名 | s_name | Char(8) | 学生的姓名 |
| 性别 | s_sex | Char(2) | 学生的性别 |
| 班级 | s_class | Char(8) | 学生的专业 |
| 专业 | s_spec | Char(8) | 学生的专业 |
| 课程号 | c_no | Char(8) | 课程的唯一标识 |
| 课程名 | c_name | Char(8) | 课程的名字 |
| 课程学分 | c_point | Smallint | 课程的学分 |
| 上课时间 | c_time | Smallint | 上课时间 |
| 平时成绩 | ord_score | Int | 学生某课程的平时成绩 |
| 考试成绩 | exam_score | Int | 学生某课程的考试成绩 |
| 补考成绩 | makeup_score | Int | 学生某课程的补考成绩 |
| 重修成绩 | renovate_score | Int | 学生某课程的重修成绩 |
| 总评成绩 | final_score | Int | 学生某课程的总评成绩 |
## 2.6 系统结构
![](http://www.writebug.com/myres/static/uploads/2021/10/19/dfc1348cd72bb23efeb6ce9521a94a5f.writebug)
各模块功能说明:
- **系统登录**:该系统使用时需登录
- **成绩录入**:用于录入各类成绩
- **考试成绩录入**:用于登录入考试成绩及平时成绩
- **补考成绩录入**:用于录入补考成绩
- **重修成绩录入**:用于录入重修成绩
- **信息查询**:用于查询各种信息
- **总评成绩**:用于输出总评成绩。其中:总评成绩=30%\*平时成绩+70\*考试成绩
- **补考通知单**:用于输出补考名单,即总评成绩不到60分的学生
- **补考成绩单**:用于输出补考学生的成绩
- **重修通知单**:用于输出重修名单,及总评成绩 < 60且补考成绩也 < 60的学生
- **重修成绩单**:用于输出重修学生的成绩
- **优秀学生名单**:用于输出优秀学生。及该学生每科总评成绩均大于60
- **退出系统**:退出系统
# 三、概念模型设计
**E-R图**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/87523234cdecf0b266cd81180bcbbd29.writebug)
# 四、逻辑结构设计
**学生信息表(学号,姓名,性别,班级,专业)**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/97edaba3a216435bf5d9fc9d7dfbea63.writebug)
- 主键:学号
- 外键:无
- 非空:学号、姓名
**选课表(学号,课程号,课程名)**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/1b760033ef392ee60da83938753ad8c3.writebug)
- 主键:无
- 外键:学号、课程号
- 非空:学号、课程号
**课程表(课程号,课程名,课程学分,上课时间)**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/b81331c318cf5c5fea2cc84d4098499a.writebug)
- 主键:课程号
- 外键:无
- 非空:课程号,课程名
**成绩表(学号,课程号,课程名,平时成绩,考试成绩,补考成绩,重修成绩,总评成绩)**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/8748579714d65b71ca4e5e859b3633e2.writebug)
- 主键:无
- 外键:学号、课程号
- 非空:无
# 五、物理结构设计
**建立数据库表**
下面使用Mysql可视化工具Navicate进行建库、建表操作。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/73aa68ef70e2e13250bc3ad181db9ed6.writebug)
# 六、数据库连接与应用
## 6.1 Java中通过JDBC连接数据库
关键代码如下:
```java
static {
try {
if (conn == null) {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null,
"数据库连接异常!");
System.exit(0);
} catch (Exception e) {
e.printStackTrace();
}
}
```
## 6.2 数据库的运行与维护
**登录界面**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/969154bee9dcde64c88263ab248939f7.writebug)
**主界面**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/cd47b9348c59f1951cbed8ede99db209.writebug)
**选择界面**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/2a1a094942d1b122a47590a47db45169.writebug)
**信息查询界面**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/51530d434f21a4f23312fb59c20e9062.writebug)
查询的SQL语句如下:
```java
String sql = "select student.s_no,student.s_name,score.c_name " +
"from student,score " +
"where student.s_no=score.s_no and score.final_score<60";
```
**考试成绩录入**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/8df075140acb1711464c07aa2911112c.writebug)
录入的SQL语句如下:
```java
String sql = "Insert " +
"into score(s_no, c_no, c_name, ord_score, exam_score, final_score) " +
"values(?, ?, ?, ?, ?, ?)";
```
# 七、收获与体会
通过本次的数据库课程设计,我进一步的了解了数据库的开发和使用,与看课本学习不同的是,这次是动手实践去做,而不仅仅局限于课本上的理论知识,更加进一步加深了对数据库的理解,同时也对Java语法、JDBC使用更加熟练。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
相关技术介绍 开发环境:Windows 10 数据库管理系统:Mysql 开发工具:Intel IDEA 运行环境:Windows 10以及更高版本 系统结构:C/S 二、系统需求分析 2.1 业务流程 用户登陆到系统后,在本系统中可以选择进行考试成绩录入、补考成绩录入、重修成绩录入,或查看总评成绩单、补考通知单、补考成绩单、重修通知单、重修成绩单、优秀学生名单等… 2.2 功能需求 用户能够登入本系统 用户可以在系统中录入考试成绩 用户可以在系统中录入补考成绩 用户可以在系统中录入重修成绩 用户可以在系统中查看总评成绩单 用户可以在系统中查看补考通知单 用户可以在系统中查看补考成绩单 用户可以在系统中查看重修通知单 用户可以在系统中查看重修成绩单 用户可以在系统中查看优秀学生名单
资源推荐
资源详情
资源评论
收起资源包目录
基于Java和Mysql的学生成绩管理系统.zip (104个子文件)
HomeWindow.class 6KB
BaseTableWindow.class 5KB
ExamTableDao.class 4KB
RenovateTableDao.class 4KB
Dao.class 4KB
MakeupTableDao.class 4KB
ExamTable.class 4KB
RenovateTable.class 3KB
MakeupTable.class 3KB
LoginWindow.class 3KB
RenovateScoreCanvas$RenovateScoreArea.class 2KB
MakeupScoreCanvas$MakeupScoreArea.class 2KB
FinalScoreCanvas$FinalScoreArea.class 2KB
RenovateScoreCanvasDao.class 2KB
MakeupScoreCanvasDao.class 2KB
FinalScoreCanvasDao.class 2KB
RenovateNoticeCanvas$RenovateNoticeArea.class 2KB
MakeupNoticeCanvas$MakeupNoticeArea.class 2KB
RenovateNoticeCanvasDao.class 2KB
ExcellentStudentCanvas$ExcellentStudentArea.class 2KB
MakeupNoticeCanvasDao.class 2KB
ExcellentStudentCanvasDao.class 2KB
Exam.class 2KB
BaseCanvasWindow.class 1KB
BaseTableWindow$TableRow.class 1KB
RenovateScore.class 1KB
MakeupScore.class 1KB
Renovate.class 1KB
FinalScore.class 1KB
Makeup.class 1KB
HomeWindow$1.class 1KB
XXXTable.class 970B
ExcellentStudent.class 969B
RenovateNotice.class 948B
MakeupNotice.class 942B
LoginWindow$1.class 918B
BaseTableWindow$1.class 865B
ExcellentStudentCanvas.class 850B
HomeWindow$12.class 834B
HomeWindow$11.class 833B
RenovateNoticeCanvas.class 833B
HomeWindow$10.class 833B
HomeWindow$4.class 831B
HomeWindow$7.class 831B
HomeWindow$5.class 831B
HomeWindow$2.class 831B
HomeWindow$6.class 831B
HomeWindow$3.class 831B
HomeWindow$8.class 831B
HomeWindow$9.class 831B
RenovateScoreCanvas.class 826B
MakeupNoticeCanvas.class 819B
MakeupScoreCanvas.class 812B
FinalScoreCanvas.class 805B
BaseWindow.class 652B
Main.class 550B
NotMatchException.class 422B
数据库课设.doc 182KB
GradeManagerSys.iml 507B
mysql-connector-java-5.0.8.jar 528KB
HomeWindow.java 6KB
BaseTableWindow.java 4KB
ExamTable.java 3KB
MakeupTable.java 3KB
RenovateTable.java 3KB
ExamTableDao.java 3KB
Dao.java 3KB
RenovateTableDao.java 2KB
MakeupTableDao.java 2KB
LoginWindow.java 2KB
RenovateScoreCanvas.java 2KB
FinalScoreCanvas.java 2KB
MakeupScoreCanvas.java 2KB
MakeupNoticeCanvas.java 2KB
RenovateNoticeCanvas.java 2KB
ExcellentStudentCanvas.java 1KB
RenovateScoreCanvasDao.java 1KB
MakeupScoreCanvasDao.java 1KB
RenovateNoticeCanvasDao.java 1KB
FinalScoreCanvasDao.java 1KB
ExcellentStudentCanvasDao.java 1KB
MakeupNoticeCanvasDao.java 1KB
Exam.java 1KB
BaseCanvasWindow.java 929B
RenovateScore.java 754B
Renovate.java 749B
MakeupScore.java 738B
Makeup.java 733B
FinalScore.java 730B
ExcellentStudent.java 583B
RenovateNotice.java 546B
MakeupNotice.java 544B
BaseWindow.java 385B
NotMatchException.java 183B
Main.java 166B
LICENSE 1KB
README.md 7KB
说明.txt 31B
workspace.xml 64KB
uiDesigner.xml 9KB
共 104 条
- 1
- 2
资源评论
- 魏水华2023-07-28数据库存储的方式很方便,能够快速地查询和导出学生成绩,提高工作效率。
- 傅融2023-07-28这个文件是一个很实用的学生成绩管理系统,方便操作和管理学生的考试成绩。
- 奔跑的楠子2023-07-28使用Java和Mysql开发,保证了系统的稳定性和安全性。
- 練心2023-07-28界面简洁清晰,操作简单易懂,即使对计算机不太熟悉的人也能很快上手。
- 赶路的稻草人2023-07-28这个学生成绩管理系统虽然功能基本完备,但还有一些细节可以改进,比如界面美化和功能扩展等。
计算机毕设论文
- 粉丝: 1w+
- 资源: 394
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ssm前后端分离鲜花销售系统+vue.zip
- ssm人力资源管理系统+vue.zip
- dropdown 是一款基于layui框架的下拉框控件,填补了layui原生没有下拉框这个空隙 借助下拉框的操作方式和UI交互,可以带来更加直观、便于操作、模块划分清晰等优势
- ssm企业人事管理系统的设计与实现+jsp.zip
- ssm农业视频实时发布管理系统设计+jsp.zip
- ssm农家乐信息平台的设计与实现+vue.zip
- 西门子PLC1500大型程序fanuc机器人焊装 包括1台 西门子1500PLC程序,2台触摸屏TP1500程序 9个智能远程终端ET200SP Profinet连接 15个Festo气动智能模块P
- ssm农产品仓库管理系统系统+jsp.zip
- ssm绿色农产品推广应用网站+vue.zip
- ssm民宿管理系统+jsp.zip
- ssm旅游网站的设计与实现+jsp.zip
- ssm旅游攻略网站设计+jsp.zip
- ssm旅游景点管理系统设计+jsp.zip
- ssm连锁经营商业管理系统+jsp.zip
- ssm临沂旅游咨询系统+vue.zip
- ssm旅行社管理系统的设计与实现+jsp.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功