创建student表、course 表及course_score表(学生选课表):student 表主键为student_id字段,course 表主键为课程号字段;外键约束:course_score.student_id, course score. course_id;设置课程类别的默认值为必修; 设置姓名非空; 设置身份证号唯一约束; 设置检查约束,sex字段取值男或女;
时间: 2024-03-23 15:37:18 浏览: 205
好的,这是一个关于数据库的问题。我可以帮您解答。
首先,我们需要创建三个表:student、course和course_score。
创建student表的SQL语句如下:
```
CREATE TABLE student (
student_id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
sex CHAR(2) CHECK (sex IN ('男', '女')),
id_card VARCHAR(18) UNIQUE
);
```
其中,student_id是主键,name是不允许为空的字段,sex是性别字段,只允许取值为男或女,id_card是唯一约束的字段,用于区分不同学生。
创建course表的SQL语句如下:
```
CREATE TABLE course (
course_id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
category VARCHAR(20) DEFAULT '必修'
);
```
其中,course_id是主键,name是不允许为空的字段,category是课程类别字段,设置默认值为必修。
创建course_score表的SQL语句如下:
```
CREATE TABLE course_score (
student_id INT,
course_id INT,
score DECIMAL(5, 2),
PRIMARY KEY (student_id, course_id),
FOREIGN KEY (student_id) REFERENCES student(student_id),
FOREIGN KEY (course_id) REFERENCES course(course_id)
);
```
其中,course_score表的主键由student_id和course_id两个字段组成,作为联合主键。同时,student_id和course_id两个字段作为外键,分别与student表和course表的主键关联起来。
以上是创建三个表的SQL语句,其中加入了您提出的约束条件。希望能够帮到您!
阅读全文