MySQL数据库中学生,教师,课程,成绩,班级和班长之间应该怎么建表?哪些表之间有外键?
在MySQL数据库中,学生、教师、课程、成绩、班级和班长之间可以建立如下表:
学生表(student)
教师表(teacher)
课程表(course)
成绩表(score)
班级表(class)
班长表(leader)
学生表的class_id字段与班级表的id字段关联;
课程表的teacher_id字段与教师表的id字段关联;
成绩表的studentid字段与学生表的id字段关联,courseid字段与课程表的id字段关联。
字段名
类型
描述
id int 学生ID
name varchar 学生姓名
class_id int 班级ID
leader tinyint 是否为班长
该表中的class_id字段与班级表的id字段关联,leader字段表示该学生是否为班长。
字段名
类型
描述
id int 教师ID
name varchar 教师姓名
字段名
类型
描述
id int 课程ID
name varchar 课程名称
teacher_id int 授课教师ID
该表中的teacher_id字段与教师表的id字段关联。
字段名
类型
描述
id int 成绩ID
student_id int 学生ID
course_id int 课程ID
score decimal 成绩
该表中的studentid字段与学生表的id字段关联,courseid字段与课程表的id字段关联,score字段表示该学生在该课程中的成绩。
字段名
类型
描述
id int 班级ID
name varchar 班级名称
字段名
类型
描述
id int 班长ID
student_id int 学生ID
该表中的student_id字段与学生表的id字段关联。
在上述表中,学生表、课程表、成绩表和班级表之间存在外键关系,分别为: