数据库设计:学生信息管理系统 - 表结构及SQL语句
数据库设计:学生信息管理系统 - 表结构及SQL语句
本文将介绍一个简单的学生信息管理系统的数据库设计,包含学生、教师、班级、课程和成绩等信息。
表结构:
-
学生表 (t_student)
- id INT PRIMARY KEY AUTO_INCREMENT -- 学生编号
- name VARCHAR(20) -- 学生姓名
- class_id INT -- 所在班级编号
- FOREIGN KEY (class_id) REFERENCES t_class(id) -- 外键关联班级表
-
教师表 (t_teacher)
- id INT PRIMARY KEY AUTO_INCREMENT -- 教师编号
- name VARCHAR(20) -- 教师姓名
-
班级表 (t_class)
- id INT PRIMARY KEY AUTO_INCREMENT -- 班级编号
- name VARCHAR(20) -- 班级名称
- teacher_id INT -- 班主任编号
- FOREIGN KEY (teacher_id) REFERENCES t_teacher(id) -- 外键关联教师表
-
课程表 (t_course)
- id INT PRIMARY KEY AUTO_INCREMENT -- 课程编号
- name VARCHAR(20) -- 课程名称
- teacher_id INT -- 授课教师编号
- FOREIGN KEY (teacher_id) REFERENCES t_teacher(id) -- 外键关联教师表
-
成绩表 (t_score)
- student_id INT -- 学生编号
- course_id INT -- 课程编号
- score INT -- 分数
- PRIMARY KEY (student_id, course_id) -- 主键
- FOREIGN KEY (student_id) REFERENCES t_student(id) -- 外键关联学生表
- FOREIGN KEY (course_id) REFERENCES t_course(id) -- 外键关联课程表
建表语句:
-- 创建学生表
CREATE TABLE t_student (
id INT PRIMARY KEY AUTO_INCREMENT, -- 学生编号
name VARCHAR(20), -- 学生姓名
class_id INT, -- 所在班级编号
FOREIGN KEY (class_id) REFERENCES t_class(id) -- 外键关联班级表
);
-- 创建教师表
CREATE TABLE t_teacher (
id INT PRIMARY KEY AUTO_INCREMENT, -- 教师编号
name VARCHAR(20) -- 教师姓名
);
-- 创建班级表
CREATE TABLE t_class (
id INT PRIMARY KEY AUTO_INCREMENT, -- 班级编号
name VARCHAR(20), -- 班级名称
teacher_id INT, -- 班主任编号
FOREIGN KEY (teacher_id) REFERENCES t_teacher(id) -- 外键关联教师表
);
-- 创建课程表
CREATE TABLE t_course (
id INT PRIMARY KEY AUTO_INCREMENT, -- 课程编号
name VARCHAR(20), -- 课程名称
teacher_id INT, -- 授课教师编号
FOREIGN KEY (teacher_id) REFERENCES t_teacher(id) -- 外键关联教师表
);
-- 创建成绩表
CREATE TABLE t_score (
student_id INT, -- 学生编号
course_id INT, -- 课程编号
score INT, -- 分数
PRIMARY KEY (student_id, course_id), -- 主键
FOREIGN KEY (student_id) REFERENCES t_student(id), -- 外键关联学生表
FOREIGN KEY (course_id) REFERENCES t_course(id) -- 外键关联课程表
);
说明:
- 以上设计仅供参考,具体表结构和字段需要根据实际情况进行调整。
- 使用外键可以确保数据一致性和完整性。
- 建议使用合适的索引来提高查询效率。

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