基于Java和Mysql的学生成绩管理系统(毕业设计 附完整代码)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 基于Java和Mysql的学生成绩管理系统(毕业设计 附完整代码)

相关技术介绍


  • 开发环境:Windows 10
  • 数据库管理系统:Mysql
  • 开发工具:Intel IDEA
  • 运行环境:Windows 10以及更高版本

二、系统需求分析


2.1 业务流程


用户登陆到系统后,在本系统中可以选择进行考试成绩录入、补考成绩录入、重修成绩录入,或查看总评成绩单、补考通知单、补考成绩单、重修通知单、重修成绩单、优秀学生名单等…

2.2 功能需求


  • 用户能够登入本系统
  • 用户可以在系统中录入考试成绩
  • 用户可以在系统中录入补考成绩
  • 用户可以在系统中录入重修成绩
  • 用户可以在系统中查看总评成绩单
  • 用户可以在系统中查看补考通知单
  • 用户可以在系统中查看补考成绩单
  • 用户可以在系统中查看重修通知单
  • 用户可以在系统中查看重修成绩单
  • 用户可以在系统中查看优秀学生名单


2.3 信息需求


  • 进行成绩录入时不允许存在列值为空
  • 进行成绩录入时需保证学生学号、姓名、选课的一致性


2.4 安全性与完整性需求


数据库上信息的安全性由数据库管理系统进行保证,完整性则主要由编程语句来体现。


2.5 数据字典


image.png

image.png


2.6 系统结构



7c94add00394f5768aee1df84ba6bf03.png


各模块功能说明:

  • 系统登录:该系统使用时需登录
  • 成绩录入:用于录入各类成绩
  • 考试成绩录入:用于登录入考试成绩及平时成绩
  • 补考成绩录入:用于录入补考成绩
  • 重修成绩录入:用于录入重修成绩
  • 信息查询:用于查询各种信息
  • 总评成绩:用于输出总评成绩。其中:总评成绩=30%*平时成绩+70*考试成绩
  • 补考通知单:用于输出补考名单,即总评成绩不到60分的学生
  • 补考成绩单:用于输出补考学生的成绩
  • 重修通知单:用于输出重修名单,及总评成绩 < 60且补考成绩也 < 60的学生
  • 重修成绩单:用于输出重修学生的成绩
  • 优秀学生名单:用于输出优秀学生。及该学生每科总评成绩均大于60
  • 退出系统:退出系统

三、概念模型设计


E-R图



961c1446437beb83c71c0a5d938b4b23.png



四、逻辑结构设计


学生信息表(学号,姓名,性别,班级,专业)

  • 主键:学号
  • 外键:无
  • 非空:学号、姓名


选课表(学号,课程号,课程名)

  • 主键:无
  • 外键:学号、课程号
  • 非空:学号、课程号


课程表(课程号,课程名,课程学分,上课时间)

  • 主键:课程号
  • 外键:无
  • 非空:课程号,课程名


成绩表(学号,课程号,课程名,平时成绩,考试成绩,补考成绩,重修成绩,总评成绩)

  • 主键:无
  • 外键:学号、课程号
  • 非空:无

五、物理结构设计


建立数据库表

下面使用Mysql可视化工具Navicate进行建库、建表操作。



14eeb8026ddbb4189701d0b776d011f0.png


六、数据库连接与应用


6.1 Java中通过JDBC连接数据库


关键代码如下:

static{try{if(conn==null){Class.forName(driver).newInstance();conn=DriverManager.getConnection(dbUrl,dbUser,dbPwd);}}catch(ClassNotFoundExceptione){e.printStackTrace();JOptionPane.showMessageDialog(null,"数据库连接异常!");System.exit(0);}catch(Exceptione){e.printStackTrace();}}

6.2 数据库的运行与维护


登录界面

8ef840bcc3f3c0e8685bfbb8d28a9637.png

主界面


52a3329d9855ccc1b2915c0775edbe5e.png


选择界面


0bcf291e34b14bf33cb2e08d524316b3.png


信息查询界面


f5e37bca7aa12817bf81e2dc48fe1b53.png


查询的SQL语句如下:

Stringsql="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";


考试成绩录入


afbde31d3f2024cd7e280b7d0b99b50a.png

录入的SQL语句如下:

Stringsql="Insert "+"into score(s_no, c_no, c_name, ord_score, exam_score, final_score) "+"values(?, ?, ?, ?, ?, ?)";


七、收获与体会


通过本次的数据库课程设计,我进一步的了解了数据库的开发和使用,与看课本学习不同的是,这次是动手实践去做,而不仅仅局限于课本上的理论知识,更加进一步加深了对数据库的理解,同时也对Java语法、JDBC使用更加熟练。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
安全 关系型数据库 MySQL
如何将数据从MySQL同步到其他系统
【10月更文挑战第17天】如何将数据从MySQL同步到其他系统
391 0
|
3月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
152 6
|
3月前
|
存储 Java
【编程基础知识】 分析学生成绩:用Java二维数组存储与输出
本文介绍如何使用Java二维数组存储和处理多个学生的各科成绩,包括成绩的输入、存储及格式化输出,适合初学者实践Java基础知识。
97 1
|
2月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
139 3
|
3月前
|
Java 关系型数据库 MySQL
基于Java的学生成绩管理系统/学生信息管理系统
基于Java的学生成绩管理系统/学生信息管理系统
91 2
|
3月前
|
存储 关系型数据库 MySQL
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
47 2
|
3月前
|
Ubuntu 关系型数据库 MySQL
Linux系统MySQL安装
【10月更文挑战第19天】本文介绍了在 Linux 系统上安装 MySQL 的步骤,包括安装前准备、安装 MySQL、启动 MySQL 服务、配置 MySQL 以及验证安装。适用于 Ubuntu/Debian 和 CentOS/Fedora 系统,提供了详细的命令示例。
397 1
|
3月前
|
SQL JSON 关系型数据库
MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
【10月更文挑战第3天】MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
214 5
|
3月前
|
关系型数据库 MySQL Linux
Linux系统绿色安装MySQL 8.0.39
Linux系统绿色安装MySQL 8.0.39
|
3月前
|
关系型数据库 Unix MySQL
MySQL是一种关系型数据库管理系统
MySQL是一种关系型数据库管理系统
74 2