使用sql语句按照范式法则设计学员选课系统 ,建立相关的数据表(student表,mark表,course表,teacher表)的sql代码
时间: 2024-06-10 14:10:12 浏览: 11
以下是按照范式法则设计学员选课系统的数据表的SQL代码:
-- 学生表(student表)
CREATE TABLE student (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
gender ENUM('男', '女') NOT NULL,
major VARCHAR(50) NOT NULL,
class VARCHAR(50) NOT NULL
);
-- 成绩表(mark表)
CREATE TABLE mark (
id INT PRIMARY KEY AUTO_INCREMENT,
student_id INT NOT NULL,
course_id INT NOT NULL,
teacher_id INT NOT NULL,
score FLOAT NOT NULL,
FOREIGN KEY (student_id) REFERENCES student(id),
FOREIGN KEY (course_id) REFERENCES course(id),
FOREIGN KEY (teacher_id) REFERENCES teacher(id)
);
-- 课程表(course表)
CREATE TABLE course (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
credit FLOAT NOT NULL,
teacher_id INT NOT NULL,
FOREIGN KEY (teacher_id) REFERENCES teacher(id)
);
-- 教师表(teacher表)
CREATE TABLE teacher (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
gender ENUM('男', '女') NOT NULL,
major VARCHAR(50) NOT NULL,
title VARCHAR(50) NOT NULL
);
说明:
1. 学生表(student表):包含学生的基本信息,如姓名、年龄、性别、专业、班级等。
2. 成绩表(mark表):记录学生选课的成绩情况,包含学生ID、课程ID、教师ID、成绩等字段,同时使用外键约束确保数据的一致性。
3. 课程表(course表):记录课程的基本信息,包含课程名称、学分、教师ID等字段,同时使用外键约束确保数据的一致性。
4. 教师表(teacher表):包含教师的基本信息,如姓名、年龄、性别、专业、职称等。