设计一个简单的学校人事管理系统,管理教师和学生信息。实现教师与学生基本信息的添加、删除、修改、查询。其中编号、姓名、性别、出生日期为共有的,教师包括部门、职称、工资;学生包括高考分数、专业field、班级等。
时间: 2023-11-08 12:49:18 浏览: 112
好的,我可以为您提供一个简单的学校人事管理系统的设计,具体内容如下:
1. 数据库设计:
我们需要设计两个表,一个是教师表,一个是学生表。教师表包括字段:编号、姓名、性别、出生日期、部门、职称、工资;学生表包括字段:编号、姓名、性别、出生日期、高考分数、专业、班级。其中,编号是主键。
2. 功能实现:
我们需要实现以下功能:
2.1 添加信息:
添加教师或学生的基本信息,包括编号、姓名、性别、出生日期等共有信息,以及教师或学生特有的信息,如部门、职称、工资、高考分数、专业、班级等。
2.2 删除信息:
根据编号删除教师或学生的信息。
2.3 修改信息:
根据编号修改教师或学生的信息,包括共有信息和特有信息。
2.4 查询信息:
根据编号查询教师或学生的信息,包括共有信息和特有信息。
3. 技术实现:
我们可以使用Python语言进行开发,使用MySQL作为数据库,使用Flask框架搭建Web应用程序。
具体实现方法可以参考以下步骤:
3.1 创建MySQL数据库表:
我们需要在MySQL中创建教师表和学生表,表结构如上所述。
3.2 使用Python连接MySQL数据库:
使用Python中的pymysql库连接MySQL数据库,可以使用如下代码:
```python
import pymysql
# 连接MySQL数据库
conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='123456',
database='school',
charset='utf8mb4'
)
```
其中,host、port、user、password、database分别表示MySQL服务器地址、端口号、用户名、密码、数据库名,charset表示字符集。
3.3 使用Flask搭建Web应用程序:
使用Flask框架搭建Web应用程序,可以使用如下代码:
```python
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello, World!'
if __name__ == '__main__':
app.run()
```
其中,@app.route('/')表示处理根路径的请求,def index()定义了对应的处理函数。
3.4 实现添加、删除、修改、查询功能:
实现添加、删除、修改、查询功能的具体方法可以参考以下代码:
```python
@app.route('/add_teacher')
def add_teacher():
# 获取参数
number = request.args.get('number')
name = request.args.get('name')
gender = request.args.get('gender')
birthdate = request.args.get('birthdate')
department = request.args.get('department')
title = request.args.get('title')
salary = request.args.get('salary')
# 插入数据到数据库
cursor = conn.cursor()
cursor.execute(
'INSERT INTO teacher (number, name, gender, birthdate, department, title, salary) VALUES (%s, %s, %s, %s, %s, %s, %s)',
(number, name, gender, birthdate, department, title, salary)
)
conn.commit()
cursor.close()
return '添加教师成功'
@app.route('/add_student')
def add_student():
# 获取参数
number = request.args.get('number')
name = request.args.get('name')
gender = request.args.get('gender')
birthdate = request.args.get('birthdate')
score = request.args.get('score')
major = request.args.get('major')
class_ = request.args.get('class')
# 插入数据到数据库
cursor = conn.cursor()
cursor.execute(
'INSERT INTO student (number, name, gender, birthdate, score, major, class) VALUES (%s, %s, %s, %s, %s, %s, %s)',
(number, name, gender, birthdate, score, major, class_)
)
conn.commit()
cursor.close()
return '添加学生成功'
@app.route('/delete_teacher')
def delete_teacher():
# 获取参数
number = request.args.get('number')
# 从数据库中删除数据
cursor = conn.cursor()
cursor.execute(
'DELETE FROM teacher WHERE number = %s',
(number,)
)
conn.commit()
cursor.close()
return '删除教师成功'
@app.route('/delete_student')
def delete_student():
# 获取参数
number = request.args.get('number')
# 从数据库中删除数据
cursor = conn.cursor()
cursor.execute(
'DELETE FROM student WHERE number = %s',
(number,)
)
conn.commit()
cursor.close()
return '删除学生成功'
@app.route('/update_teacher')
def update_teacher():
# 获取参数
number = request.args.get('number')
name = request.args.get('name')
gender = request.args.get('gender')
birthdate = request.args.get('birthdate')
department = request.args.get('department')
title = request.args.get('title')
salary = request.args.get('salary')
# 更新数据到数据库
cursor = conn.cursor()
cursor.execute(
'UPDATE teacher SET name = %s, gender = %s, birthdate = %s, department = %s, title = %s, salary = %s WHERE number = %s',
(name, gender, birthdate, department, title, salary, number)
)
conn.commit()
cursor.close()
return '更新教师成功'
@app.route('/update_student')
def update_student():
# 获取参数
number = request.args.get('number')
name = request.args.get('name')
gender = request.args.get('gender')
birthdate = request.args.get('birthdate')
score = request.args.get('score')
major = request.args.get('major')
class_ = request.args.get('class')
# 更新数据到数据库
cursor = conn.cursor()
cursor.execute(
'UPDATE student SET name = %s, gender = %s, birthdate = %s, score = %s, major = %s, class = %s WHERE number = %s',
(name, gender, birthdate, score, major, class_, number)
)
conn.commit()
cursor.close()
return '更新学生成功'
@app.route('/query_teacher')
def query_teacher():
# 获取参数
number = request.args.get('number')
# 查询数据
cursor = conn.cursor()
cursor.execute(
'SELECT * FROM teacher WHERE number = %s',
(number,)
)
result = cursor.fetchone()
cursor.close()
if result is None:
return '教师不存在'
else:
return str(result)
@app.route('/query_student')
def query_student():
# 获取参数
number = request.args.get('number')
# 查询数据
cursor = conn.cursor()
cursor.execute(
'SELECT * FROM student WHERE number = %s',
(number,)
)
result = cursor.fetchone()
cursor.close()
if result is None:
return '学生不存在'
else:
return str(result)
```
其中,@app.route('/xxx')表示处理对应路径的请求,request.args.get('xxx')表示获取对应参数的值,cursor.execute()表示执行SQL语句,conn.commit()表示提交事务,cursor.fetchone()表示获取一条查询结果。
4. 总结:
以上就是一个简单的学校人事管理系统的设计和实现方法,其中包括了数据库设计、功能实现和技术实现等方面。希望可以对您有所帮助。
阅读全文