小明: 嗨,李老师,我最近在研究如何将学工系统应用到我们农业大学,想请您给我一些建议。
李老师: 当然可以,小明。首先,你需要明确学工系统的基本功能,比如学生信息管理、课程安排、成绩管理等。
小明: 明白了,那我们该如何开始呢?
李老师: 我们可以从设计数据库开始。一个简单的数据库设计可能包括三个主要表:学生表、课程表和成绩表。
小明: 这听起来不错,那么这些表应该包含哪些字段呢?
李老师: 学生表需要有学号、姓名、性别、专业等字段;课程表则包括课程号、课程名、教师等;而成绩表则应包括学号、课程号和成绩。
小明: 那么,我们如何用Python来实现这些功能呢?
李老师: 我们可以使用SQLite作为我们的数据库,然后用Python操作它。首先,我们需要安装SQLite库。
pip install sqlite3
接下来,我们可以创建数据库并定义表结构:
import sqlite3
def create_tables():
conn = sqlite3.connect('university.db')
cursor = conn.cursor()
cursor.execute('''CREATE TABLE students (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
gender TEXT,
major TEXT);''')
cursor.execute('''CREATE TABLE courses (
course_id INTEGER PRIMARY KEY,
course_name TEXT NOT NULL,
teacher TEXT);''')
cursor.execute('''CREATE TABLE grades (
student_id INTEGER,
course_id INTEGER,
grade REAL,
FOREIGN KEY(student_id) REFERENCES students(id),
FOREIGN KEY(course_id) REFERENCES courses(course_id));''')
conn.commit()
conn.close()
小明: 这样我们就有了基础的数据存储了。接下来,我们可以添加一些数据吗?
李老师: 当然,我们可以写一个函数来插入数据:
def add_data():
conn = sqlite3.connect('university.db')
cursor = conn.cursor()
cursor.execute("INSERT INTO students (name, gender, major) VALUES ('张三', '男', '农学')")
cursor.execute("INSERT INTO courses (course_name, teacher) VALUES ('作物栽培', '王教授')")
cursor.execute("INSERT INTO grades (student_id, course_id, grade) VALUES (1, 1, 90)")
conn.commit()
conn.close()
小明: 太棒了!我们现在有了一个基本的学工系统。接下来可以进一步完善它,比如增加查询功能。