创建的数据库下创建四个表格: t_student(学生表)、t_course(课程表)、t_scores(选课成绩表)、t_class(班级表),(1)表名和列名必须用英文名称即附件中提供的表名和字段名,(2)每个表要设置主键,(3)给学生表中的sex字段定义一个check约束(取值只能是‘男’ 或 ‘女’)。定义学生表的class_name字段与班级表的class_name字段为外键关系
时间: 2024-01-16 19:03:50 浏览: 95
实验二 表的创建与修改
好的,以下是创建这四个表格的 SQL 语句:
```sql
-- 创建班级表 t_class
CREATE TABLE t_class (
class_name VARCHAR(20) PRIMARY KEY,
major VARCHAR(20) NOT NULL
);
-- 创建学生表 t_student
CREATE TABLE t_student (
student_id INT PRIMARY KEY,
student_name VARCHAR(20) NOT NULL,
sex VARCHAR(10) NOT NULL CHECK (sex IN ('男', '女')),
class_name VARCHAR(20) NOT NULL,
FOREIGN KEY (class_name) REFERENCES t_class(class_name)
);
-- 创建课程表 t_course
CREATE TABLE t_course (
course_id INT PRIMARY KEY,
course_name VARCHAR(20) NOT NULL,
teacher VARCHAR(20) NOT NULL
);
-- 创建选课成绩表 t_scores
CREATE TABLE t_scores (
student_id INT NOT NULL,
course_id INT NOT NULL,
score INT NOT NULL,
PRIMARY KEY (student_id, course_id),
FOREIGN KEY (student_id) REFERENCES t_student(student_id),
FOREIGN KEY (course_id) REFERENCES t_course(course_id)
);
```
以上 SQL 语句会创建一个名为 `t_class` 的班级表,一个名为 `t_student` 的学生表,一个名为 `t_course` 的课程表和一个名为 `t_scores` 的选课成绩表。其中,学生表和班级表的关系是通过 `class_name` 字段的外键关系来建立的。同时,学生表的 `sex` 字段被定义了一个 `CHECK` 约束,只允许取值为 `'男'` 或 `'女'`。
阅读全文