CREATE DATABASE IF NOT EXISTS scores; USE scores; CREATE TABLE IF NOT EXISTS students( s_id INT NOT NULL AUTO_INCREMENT, s_name VARCHAR(30), s_gender ENUM('男','女'), s_major VARCHAR(20), PRIMARY KEY(s_id) )ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS courses( c_id INT NOT NULL AUTO_INCREMENT, c_name VARCHAR(30), PRIMARY KEY(c_id) )ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS scores( s_id INT, c_id INT, score FLOAT, PRIMARY KEY(s_id, c_id), FOREIGN KEY(s_id) REFERENCES students(s_id), FOREIGN KEY(c_id) REFERENCES courses(c_id) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
该系统设计了三个实体表,分别为students、courses和scores表:
1. students表:用于保存学生的基本信息,其中s_id为学生的id号,s_name为学生姓名,s_gender为学生性别,s_major为学生专业。
2. courses表:用于保存课程的基本信息,其中c_id为课程的id号,c_name为课程名称。
3. scores表:用于保存学生的成绩信息,其中s_id和c_id为学生的id号和课程的id号,score为学生的成绩。
在scores表中,s_id和c_id作为联合主键来保证表中每个学生和课程的成绩信息是唯一的。同时,使用外键约束来保证每个学生和课程的id号在students表和courses表中都存在。