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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 基于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
相关文章
|
23天前
|
前端开发 关系型数据库 MySQL
PHP外链网盘系统网站源码
> 本文将详细介绍如何从零构建一个基于PHP和MySQL的文件管理系统,分解项目代码并剖析每个模块的功能。我们将以`index.php`、`config.php`和`api.php`这三个核心文件为例,详细展示如何设计文件列表、数据库配置和文件上传接口,从而实现一个完整的文件管理系统。该文章可以作为学术研究和代码实现的参考。
152 98
|
7天前
|
API PHP
2025宝塔API一键建站系统PHP源码
2025宝塔API一键建站系统PHP源码
118 88
|
19天前
|
关系型数据库 MySQL PHP
免登录游客卡密发放系统PHP网站源码
这是一个简单易用的卡密验证系统,主要功能包括: 卡密管理和验证,多模板支持,响应式设计,验证码保护,防刷机制,简洁的用户界面, 支持自定义模板,移动端优化,安全性保护,易于部署和维护。
144 77
|
1月前
|
Linux PHP 数据安全/隐私保护
2024授权加密系统PHP网站源码
2024授权加密系统PHP网站源码
116 58
|
1月前
|
前端开发 PHP 数据安全/隐私保护
知识付费系统源码 PHP
在数字经济背景下,知识付费成为新兴领域,尤其在线教育平台的兴起,使更多教育者通过知识付费系统销售课程,实现数字化转型与收入提升。开发此类平台需考虑众多技术细节和业务需求,如使用PHP语言实现支付功能,确保安全性、性能和可扩展性,选择合适的技术方案至关重要。
58 4
知识付费系统源码 PHP
|
27天前
|
移动开发 小程序 前端开发
使用php开发圈子系统特点,如何获取圈子系统源码,社交圈子运营以及圈子系统的功能特点,圈子系统,允许二开,免费源码,APP 小程序 H5
开发一个圈子系统(也称为社交网络或社群系统)可以是一个复杂但非常有趣的项目。以下是一些关键特点和步骤,帮助你理解如何开发、获取源码以及运营一个圈子系统。
119 3
|
1月前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发:从基础到实践####
本文将深入探讨PHP与MySQL的结合使用,展示如何构建一个动态网站。通过一系列实例和代码片段,我们将逐步了解数据库连接、数据操作、用户输入处理及安全防护等关键技术点。无论您是初学者还是有经验的开发者,都能从中获益匪浅。 ####
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
——深入探索LAMP栈下的高效数据交互与处理技巧 ####
|
1月前
|
关系型数据库 MySQL PHP
php实现一个简单的MySQL分页
通过本文的详细步骤和代码示例,我们实现了一个简单的PHP MySQL分页功能。主要步骤包括计算总记录数、设置分页参数、查询当前页的数据以及生成分页链接。这种分页方式适用于大多数Web应用,能够有效提升用户体验和页面响应速度。
40 4
|
2月前
|
关系型数据库 MySQL PHP
PHP与MySQL的无缝集成:构建动态网站的艺术####
本文将深入探讨PHP与MySQL如何携手合作,为开发者提供一套强大的工具集,以构建高效、动态且用户友好的网站。不同于传统的摘要概述,本文将以一个生动的案例引入,逐步揭示两者结合的魅力所在,最终展示如何通过简单几步实现数据驱动的Web应用开发。 ####