用SQL创建数据库SC以及学生表Students_8208210915、课程表Courses_8208210915和选修表Score_8208210915,其中学生的性别取值只能为“男”或者“女”,在表上定义必要的主、外键。
时间: 2024-04-06 19:33:57 浏览: 11
可以使用以下SQL语句创建数据库SC,以及三张表:
```
CREATE DATABASE SC;
USE SC;
CREATE TABLE Students_8208210915 (
Sno CHAR(10) PRIMARY KEY,
Sname VARCHAR(20) NOT NULL,
Gender ENUM('男', '女') NOT NULL,
Birthday DATE NOT NULL
);
CREATE TABLE Courses_8208210915 (
Cno CHAR(10) PRIMARY KEY,
Cname VARCHAR(20) NOT NULL,
PCno CHAR(10),
Hours INT NOT NULL,
Credit INT NOT NULL,
FOREIGN KEY (PCno) REFERENCES Courses_8208210915(Cno)
);
CREATE TABLE Score_8208210915 (
Sno CHAR(10),
Cno CHAR(10),
Score INT NOT NULL,
PRIMARY KEY (Sno, Cno),
FOREIGN KEY (Sno) REFERENCES Students_8208210915(Sno),
FOREIGN KEY (Cno) REFERENCES Courses_8208210915(Cno)
);
```
在学生表中,`Sno`是主键,表示学号,`Gender`列使用ENUM类型,只能取"男"或者"女"两个值,`Birthday`表示出生日期。
在课程表中,`Cno`是主键,表示课程编号,`PCno`表示先修课程编号,使用外键引用课程表自身的`Cno`列。
在选修表中,使用联合主键`(Sno, Cno)`表示一个学生选修一个课程的唯一性,同时使用两个外键引用学生表和课程表。
以上SQL语句可以创建出符合要求的数据库和表结构。