一、设计目的
学生体能考核成绩管理系统是一个综合性的教育领域课程实验,旨在帮助学生掌握数据库管理和应用、身份认证与权限控制、问题解决能力以及综合性项目开发等关键技能。这个实验设计具有多重目的,旨在为学生提供全面的学习体验和职业技能培养。
首先,实验的一个重要目标是让学生实践数据库管理与应用。通过使用Python编程语言和MySQL数据库,学生学会了如何创建数据库表、插入、查询、更新和删除数据等数据库操作。这不仅提供了数据库管理技能的实际应用,还为学生提供了处理大量数据的经验。
其次,实验着重关注身份认证和权限控制的重要性。学生需要实现用户登录功能,并根据用户类型(学生或老师)设置不同的权限。这有助于他们理解在应用程序中如何实施基本的安全措施,以确保数据的安全性和保密性。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 体能考核系统 ” 获取。👈👈👈
第三,这个实验项目提供了一个综合性项目开发的机会。学生需要将不同的功能模块组合在一起,创建一个完整的应用程序。这锻炼了他们将理论知识应用到实际项目中的能力,培养了他们的软件开发技能。
此外,实验的背景是体育成绩管理应用,为学生提供了一个实际场景,展示了编程和数据库管理在教育领域的应用。学生可以体验到如何将技术与教育管理相结合,提高了他们的综合素质。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 体能考核系统 ” 获取。👈👈👈
二、数据库设计
数据库中包括两个表格:user表格和fitness_data表格。下面是这两个表格的字段表格以及建立数据库的过程的详细分析。
- user 表格字段表格:
- fitness_data 表格字段表格:
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 体能考核系统 ” 获取。👈👈👈
三、运行结果
3.1. 教师登录
3.2. 录入成绩
3.3. 修改成绩
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 体能考核系统 ” 获取。👈👈👈
3.4. 删除成绩
3.5. 返回主菜单
3.6. 学生查询
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 体能考核系统 ” 获取。👈👈👈
3.7. 查询结果
四、代码分析
1. 导入模块
import pymysql
- 导入
pymysql
模块:此模块用于在Python中提供MySQL数据库的连接和操作功能,是实现数据库操作的基础。
2. 数据库连接
conn = pymysql.connect( host='127.0.0.1', user='root', password='root', db='dish' )
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 体能考核系统 ” 获取。👈👈👈
- 建立数据库连接:这部分代码负责建立与MySQL数据库的连接。指定了数据库的位置(本地主机)、用户名、密码以及要操作的数据库名。
3. 创建数据库表
3.1 用户数据表
def create_user_table(): cursor = conn.cursor() cursor.execute(''' CREATE TABLE IF NOT EXISTS user ( id INT AUTO_INCREMENT PRIMARY KEY, # 略..... ) ''') conn.commit() cursor.close()
- 定义函数
create_user_table
:该函数用于创建一个新的用户表,存储用户的ID、用户名、密码和用户类型(教师或学生)。 - 使用事务处理:通过
conn.commit()
来提交SQL命令,确保创建表的操作被正确执行。
3.2 体能数据表
def create_fitness_table(): cursor = conn.cursor() cursor.execute(''' CREATE TABLE IF NOT EXISTS fitness_data ( id INT AUTO_INCREMENT PRIMARY KEY, # 略..... ) ''') conn.commit() cursor.close()
- 定义函数
create_fitness_table
:创建一个表来存储学生的体能测试数据,包括俯卧撑、仰卧起坐、引体向上以及3000米跑的成绩。
4. 用户登录
def user_login(): username = input("请输入用户名: ") password = input("请输入密码: ") cursor = conn.cursor() cursor.execute("SELECT user_type FROM user WHERE username=%s AND password=%s", (username, password)) user_type = cursor.fetchone() cursor.close() if user_type: return user_type[0] else: return None
- 用户验证:通过输入用户名和密码进行用户验证,并从数据库中检索对应的用户类型(学生或教师),若验证成功返回用户类型,否则返回
None
。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 体能考核系统 ” 获取。👈👈👈
5. 学生查询功能
def student_query(): # 略.....
- 个人及不及格学生成绩查询:学生可以查询自己的体能成绩或查看不及格的学生名单。这部分代码通过不同的选择来执行不同的数据库查询操作。
6. 老师录入和修改数据
def teacher_input_and_modify(): # 略.....
- 数据录入和修改:教师可以录入、修改或删除学生的体能数据。此功能允许教师通过菜单进行选择并执行相应的数据库操作。
7. 主菜单和程序入口
def main_menu(): ... if __name__ == "__main__": create_user_table() create_fitness_table() main_menu()
- 主菜单循环:程序的主入口点,包括用户表和体能数据表的创建及主菜单的调用,主菜单控制程序的主要流程,允许用户进行不同的操作选择。
8. 关闭数据库连接
conn.close()
- 释放资源:在程序结束时关闭数据库连接,确保所有的资源被妥善释放。
整个代码结构清晰,逻辑分明,每个功能模块都具有明确的职责,从数据库连接到数据操作再到用户交互,形成了一个完整的体能数据管理系统。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 体能考核系统 ” 获取。👈👈👈