基于PHP和MySQL数据库实现的学生成绩管理系统

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 基于PHP和MySQL数据库实现的学生成绩管理系统

学生成绩管理系统

1.2 系统的总体功能描述


1.2.1 基本要求


学校希望建立一个学生成绩在线公布系统,对学生成绩信息进行存储、管理和发布,并能通过分类、查询、统计等操作从数据库中获取有效信息,在方便学生了解自己各科考试成绩的同时,各院系可对学生成绩有直接和明确的掌握。

1.2.2 基本功能

  • 系统设置:考试科目、等级分值等参数的设置、权限设置、更改密码等
  • 学生查询:通过学号和密码,学生可查询每学期各科成绩
  • 成绩录入:提供学生成绩的添加功能,并能从表格和其他数据库文件中导入信息
  • 信息更新:提供学生成绩信息的删除和修改和功能
  • 信息统计:按院系、专业、班级分类汇总、统计。可查询学生的成绩分布,不及格人数,最低分、最高分和平均分
  • 信息打印:主要提供成绩的分类打印功能

1.2.1 登录功能

4fbf392d6ea31f6d832794baab0cd85a.jpg

输入管理员,老师,学生的id和密码会登录到不同界面,与之对应有不用的功能和权限。

1.2.2 管理员功能

6e714147a0a026573c3f3e3e04b28775.jpg

添加考试

2904b7b7c0d68df27145ea9eca3c8b5f.jpg

在输入框输入需要添加的考试科目,点击添加,完成添加考试科目内容

删除分数

239391728329a7964b5a674abb36a4c0.jpg

输入要删除分数的名字和对应的科目,点击删除即可删除分数

修改分数

f40c15b355b5b3e42b8dccc499147da9.jpg

输入需要需改分数的姓名和对应的科目对应的新成绩,点击修改完成修改分数功能

修改密码

d5d62589bcf06c5d01fc9fa0b723b794.jpg


管理员可以修改任何id的密码

1.3 开发工具

本系统后台数据库采用MySQL 数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台sublime text作为主要开发工具,使用B/S模式,开发简单。

1.4 开发环境


  • 编辑器:Sublime Text
  • 系统开发语言:HTML + CSS + PHP
  • 数据库:MySQL

二、需求分析


2.1 概括描述

随着在校大学生人数的不断增加,教务系统的数据量也不断的上涨。学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。

2.2 用户特点

本系统有管理员,老师,学生。系统的管理员主要是对学生信息以及学生成绩进行一些操作。这些操作包括对学生信息的添加、对学生成绩的录入以及对学生成绩进行分析等。老师对学生成绩的录入,自己密码的修改,学生查询自己的成绩和统计自己的成绩,修改自己密码。

2.3 可行性分析

目前,随着办公信息化的开展,高校的扩招,新生入学以及期末考试结束后,学校都需要对一些繁琐的流程进行管理,通过一个基于B/S架构的管理系统,可以很好的将这一个过程进行化繁为简。此项目具有普遍性,能够应用于很多学校。因此,该类型系统可以大量投入使用。

2.4 数据项


管理员id,密码,老师id,密码,学生id密码,考试科目,考试成绩

2.5 数据结构

  • 管理员:权限最高,管理员ID,管理员登录密码
  • 老师:老师ID,老师登录密码
  • 学生:学生ID,学生密码,学生考试科目,考试成绩

2.6数据存储


管理员ID,管理员登录密码,老师ID,老师登录密码,学生ID,学生密码,学生考试科目,考试成绩

三、数据库概念结构设计

3.1 局部ER图


  • 管理员(ID,密码)
  • 老师(ID,密码)
  • 学生(ID,密码,科目,成绩)

四、数据库逻辑结构设计


4.1 关系模式


  • 管理员(ID,密码)
  • 老师(ID,密码)
  • 学生(ID,密码,科目,成绩)

4.2 存储过程

信息->数据库

4.3 触发器


建立触发器以实现分数删除功能,当删除一个学生的分数时将此学生的相关信息全部删除。

4.4视图

这部分主要是考虑使用方便性和效率问题,主要借助视图手段实现。

4.5索引


使用经典存取方法,建立索引:

  • 学生成绩经常用到而且按其排序,在学生成绩名称属性建立索引。
  • 用户ID是本软件的重要的数据,在ID属性建立索引。

五、应用系统功能结构图

ef1484e529531ca8afbbb52e601c5ebf.jpg


六、各功能模块程序流程图及其说明


6.1 添加考试


输入框获取用户输入的考试科目,通过post方法发送到服务器,添加到数据库

6.2 删除模块

输入框获取用户输入要删除的分数,通过post方法发送到服务器,MqSQL数据库匹配对应的分数,然后删除

6.3 修改密码模块


通过更新数据库达到修改密码的功能

6.4 查询模块


查询对应的分数,使用对应的MySQL语句

七、程序源代码及其说明


7.1 登录


da0a5e95302953d01e75ef0b12bf99b1.jpg


7.2 查询

9fbbe68f268584d1b00698ce42a9b64e.jpg

aa33ff2c869019816ea6189ff20db0ed.jpg


7.3 服务器端对数据库的读取和写入操作


采用JDBC进行数据库的连接与操作。

7.4 客户端与服务器端的通信


采用Socket进行通信。

7.5 系统主界面


管理员主界面


ebac154f16d8c9eeca53def2bd15fc55.jpg

学生主界面


fa758ec88d3a54c634cedee6a96750ea.jpg

教师主界面

0204e15f3f73d168079bc62604dda7c2.jpg

八、总结


课程设计中遇到的主要问题和解决方法;创新和得意之处;课程设计中存在的不足,需进一步改进的设想;课程设计的感想和心得体会。

8.1 主要问题和解决方法

界面的排版问题,还有用户输入的数据怎样传给数据库和php处理。

排版问题使用css的定位解决,绝对定位能让控件定位到我想要的地方。数据传输使用post方法,在php要使用_POST+name接受控件输入的内容。

8.2 创新和得意之处


系统界面简单单调,但是功能齐全,开发容易,使用XAMPP集合环境,不需要单独安装数据库和web服务器,使用起来方便简单。

8.3 不足之处

功能过域简单,更加复杂的功能没有实现,系统存在SQL注入等安全问题,界面也不够美观,进一步的学习和研究,学习更多css、html、php、mysql,进一步掌握安全问题,维护更好的网站。

8.4 心得体会


在这次课程设计中,重点是要掌握数据库设计方法。数据库设计特点:三分技术,七分管理,十二分基础数据。在数据库建设中不仅涉及技术,还设计管理。要建设好一个数据库应用系统,开发技术固然重要,但相比之下则管理更重要。


进行数据库的设计首先必须了解与分析用户需求。需求分析是整个设计过程的基础,是最困难、最耗时的一部分。需求分析做的不好,甚至会导致整个数据库设计返工重做。需求分析的任务是通过详细的调查现实世界要处理的对象,充分了解用户的各种需求,然后在此基础上确定系统功能。系统还必须充分考虑今后可能的扩充和改变。


概念结构设计是整个数据库设计的关键,他通过对用户需求进行综合、归纳与抽象,形成一个独立与具体DBMS的概念模型。逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。概念结构的特点:能真实、充分的反映现实世界,包括失误和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;易于理解,从而可以用它和不熟悉计算机的用户交流意见,用户的积极参与是数据库设计成功的关键;易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;易于向关系、网状、层次等各种数据模型转换。


本系统主要针对的用户是学生、教务员和老师。该设计的优点是:不同用户的功能都单独存储在数据库中相应的表中使他们可以很方便地满足自己的需求。不足是:存在部分数据冗余,不利于该数据库向大型数据库扩展。但该设计基本能满足三类的用户的需求,完成简单的功能。时间有限,部分功能还没有实现,有待完善!


通过将近一个星期的设计,我对数据库在生活中的广泛应用有了更深的体会,同时也加深了对MySQL的认识,了解了相关的SQL的知识,尤其是对数据库的原理与开发程序的应用有了更进一步的认识和了解。 课程设计是我们数据库专业课程知识综合应用的实践训练,在课设中也遇到了很多问题,经过向老师询问和跟同学们交流,认真的思考,积极解决问题,终于解决了那些问题。在解决问题的过程中,我也学到了很多知识,更是让我把课本的知识应用到实际之中,让我了解了我们学习的知识有什么用,增强我的自信心和学习的动力。同时感谢老师和同学在课程设计过程中的帮助!

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
消息中间件 缓存 弹性计算
纯PHP+MySQL手搓高性能论坛系统!代码精简,拒绝臃肿
本内容分享了一套经实战验证的社交系统架构设计,支撑从1到100万用户的发展,并历经6次流量洪峰考验。架构涵盖客户端层(App、小程序、公众号)、接入层(API网关、负载均衡、CDN)、业务服务层(用户、内容、关系、消息等服务)、数据层(MySQL、Redis、MongoDB等)及运维监控层(日志、监控、告警)。核心设计包括数据库分库分表、多级缓存体系、消息队列削峰填谷、CQRS模式与热点数据动态缓存。同时提供应对流量洪峰的弹性伸缩方案及降级熔断机制,并通过Prometheus实现全链路监控。开源建议结构清晰,适合大型社交平台构建与优化。
162 11
|
2月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
271 17
|
2月前
|
运维 关系型数据库 MySQL
使用RDS MySQL 极速构建实时全文检索系统,完成任务可领取300社区积分兑换各种商城好礼!
实时全文检索系统是企业竞争力的关键工具,但自建面临诸多挑战。本方案利用阿里云RDS MySQL版与Elasticsearch简化构建,优化数据索引与查询性能,助力企业高效数字化转型。
|
3月前
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
877 26
|
3月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
178 17
|
3月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu系统的Docker上安装MySQL的方法
以上的步骤就是在Ubuntu系统的Docker上安装MySQL的详细方法,希望对你有所帮助!
349 12
|
4月前
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
98 18
|
4月前
|
数据库连接 PHP 数据库
【YashanDB知识库】PHP使用ODBC使用数据库绑定参数功能异常
【YashanDB知识库】PHP使用ODBC使用数据库绑定参数功能异常
|
4月前
|
PHP 数据库
【YashanDB知识库】PHP使用OCI接口使用数据库绑定参数功能异常
【YashanDB知识库】PHP使用OCI接口使用数据库绑定参数功能异常
|
5月前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
252 25

推荐镜像

更多