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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
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的知识,尤其是对数据库的原理与开发程序的应用有了更进一步的认识和了解。 课程设计是我们数据库专业课程知识综合应用的实践训练,在课设中也遇到了很多问题,经过向老师询问和跟同学们交流,认真的思考,积极解决问题,终于解决了那些问题。在解决问题的过程中,我也学到了很多知识,更是让我把课本的知识应用到实际之中,让我了解了我们学习的知识有什么用,增强我的自信心和学习的动力。同时感谢老师和同学在课程设计过程中的帮助!

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
存储 SQL 关系型数据库
PHP与数据库交互:从基础到进阶
【10月更文挑战第9天】在编程的世界里,数据是流动的血液,而数据库则是存储这些珍贵资源的心脏。PHP作为一门流行的服务器端脚本语言,其与数据库的交互能力至关重要。本文将带你从PHP与数据库的基本连接开始,逐步深入到复杂查询的编写和优化,以及如何使用PHP处理数据库结果。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供宝贵的知识和技巧,让你在PHP和数据库交互的道路上更加从容不迫。
ly~
|
5天前
|
存储 安全 前端开发
php文件管理系统
PHP 文件管理系统是基于 PHP 开发的,用于管理文件和文件夹的应用。它支持文件上传、下载、浏览、搜索、编辑和删除,并提供权限管理和安全防护功能。适用于企业内部、网站和个人文件管理,确保文件的安全性、保密性和高效共享。
ly~
17 9
ly~
|
4天前
|
存储 自然语言处理 前端开发
有哪些常见的 PHP 文件管理系统?
elFinder:开源Web文件管理器,支持文件的基本操作及拖放管理,具备多种文件预览、权限管理功能,适用于网站后台文件管理和共享主机环境。 FileRun:多语言、易用的文件管理工具,提供强大的搜索和版本控制功能,支持外部存储集成,适用于企业内部文件共享与协作。 KCFinder:轻量级PHP文件管理器,易于集成,支持文件上传下载限制,与富文本编辑器兼容,适用于博客系统和内容编辑场景。 AjaXplorer:基于Ajax技术的文件管理系统,提供流畅体验和插件扩展,支持文件分类和共享,适用于团队协作和灵活文件分享场景。
ly~
16 1
|
5天前
|
SQL 存储 关系型数据库
数据储存数据库管理系统(DBMS)
【10月更文挑战第11天】
13 3
|
6天前
|
存储 关系型数据库 MySQL
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
13 2
|
6天前
|
Ubuntu 关系型数据库 MySQL
Linux系统MySQL安装
【10月更文挑战第19天】本文介绍了在 Linux 系统上安装 MySQL 的步骤,包括安装前准备、安装 MySQL、启动 MySQL 服务、配置 MySQL 以及验证安装。适用于 Ubuntu/Debian 和 CentOS/Fedora 系统,提供了详细的命令示例。
|
7天前
|
安全 NoSQL 关系型数据库
阿里云数据库:构建高性能与安全的数据管理系统
在企业数字化转型过程中,数据库是支撑企业业务运转的核心。随着数据量的急剧增长和数据处理需求的不断增加,企业需要一个既能提供高性能又能保障数据安全的数据库解决方案。阿里云数据库产品为企业提供了一站式的数据管理服务,涵盖关系型、非关系型、内存数据库等多种类型,帮助企业构建高效的数据基础设施。
23 2
|
7天前
|
SQL 关系型数据库 MySQL
PHP与MySQL协同工作的艺术:开发高效动态网站
在这个后端技术迅速迭代的时代,PHP和MySQL的组合仍然是创建动态网站和应用的主流选择之一。本文将带领读者深入理解PHP后端逻辑与MySQL数据库之间的协同工作方式,包括数据的检索、插入、更新和删除操作。文章将通过一系列实用的示例和最佳实践,揭示如何充分利用这两种技术的优势,构建高效、安全且易于维护的动态网站。
|
8天前
|
存储 NoSQL 关系型数据库
数据库管理系统
【10月更文挑战第8天】
18 1
|
11天前
|
数据可视化 API PHP
低代码开发工具-学生管理系统-老师管理增删改查实现
低代码开发工具-学生管理系统-老师管理增删改查实现
22 5