SQL 数据库设计与操作:学生管理系统示例

本文将介绍一个简单的学生管理系统数据库设计,包含学生、教师、班级、课程和成绩等表,并提供一些常见的SQL操作示例。

数据库表结构

假设有一张学生表(t_student),包含学号、姓名、所在班级信息;一张教师表,包括教师编号、教师名称信息;一张班级表(t_class),包含班级编号、班级名称、班主任信息;一张课程表(t_course)包含课程编号、课程名称、授课老师信息;一张成绩表(t_score),包含参加考试的学生学号、课程编号、分数。

表结构创建 SQL 语句

  1. 创建学生表(t_student):
CREATE TABLE t_student (
  id INT AUTO_INCREMENT PRIMARY KEY,
  student_id VARCHAR(10) NOT NULL,
  student_name VARCHAR(20) NOT NULL,
  class_id INT NOT NULL,
  FOREIGN KEY (class_id) REFERENCES t_class(id)
);
  1. 创建教师表:
CREATE TABLE t_teacher (
  id INT AUTO_INCREMENT PRIMARY KEY,
  teacher_id VARCHAR(10) NOT NULL,
  teacher_name VARCHAR(20) NOT NULL
);
  1. 创建班级表(t_class):
CREATE TABLE t_class (
  id INT AUTO_INCREMENT PRIMARY KEY,
  class_id VARCHAR(10) NOT NULL,
  class_name VARCHAR(20) NOT NULL,
  head_teacher INT NOT NULL,
  FOREIGN KEY (head_teacher) REFERENCES t_teacher(id)
);
  1. 创建课程表(t_course):
CREATE TABLE t_course (
  id INT AUTO_INCREMENT PRIMARY KEY,
  course_id VARCHAR(10) NOT NULL,
  course_name VARCHAR(20) NOT NULL,
  teacher_id INT NOT NULL,
  FOREIGN KEY (teacher_id) REFERENCES t_teacher(id)
);
  1. 创建成绩表(t_score):
CREATE TABLE t_score (
  id INT AUTO_INCREMENT PRIMARY KEY,
  student_id VARCHAR(10) NOT NULL,
  course_id VARCHAR(10) NOT NULL,
  score INT NOT NULL,
  FOREIGN KEY (student_id) REFERENCES t_student(student_id),
  FOREIGN KEY (course_id) REFERENCES t_course(course_id)
);

常用 SQL 操作示例

  1. 查询某个班级的所有学生:
SELECT * FROM t_student WHERE class_id = 1;
  1. 查询某个教师教授的所有课程:
SELECT * FROM t_course WHERE teacher_id = 1;
  1. 查询某个学生的所有成绩:
SELECT * FROM t_score WHERE student_id = '20190001';
  1. 查询某门课程的平均成绩:
SELECT AVG(score) FROM t_score WHERE course_id = 'C001';
  1. 查询某个班级的平均成绩:
SELECT AVG(score) FROM t_score WHERE student_id IN (SELECT student_id FROM t_student WHERE class_id = 1);

本文仅提供简单的示例,实际应用中需要根据具体的业务需求进行数据库设计和 SQL 操作。

SQL 数据库设计与操作:学生管理系统示例

原文地址: http://www.cveoy.top/t/topic/lX6i 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录