用SQL创建数据库SC以及学生表Students_8208210915、课程表Courses_8208210915和选修表Score_8208210915,其中学生的性别取值只能为“男”或者“女”,在表上定义必要的主、外键。
时间: 2024-04-07 19:28:13 浏览: 67
根据您的要求,可以使用以下 SQL 语句创建数据库 SC 和三张表:
```sql
-- 创建数据库 SC
CREATE DATABASE SC;
-- 切换到数据库 SC
USE SC;
-- 创建学生表 Students_8208210915
CREATE TABLE Students_8208210915 (
Sno INT PRIMARY KEY,
Sname VARCHAR(20) NOT NULL,
Gender ENUM('男', '女') NOT NULL,
Birthday DATE NOT NULL
);
-- 创建课程表 Courses_8208210915
CREATE TABLE Courses_8208210915 (
Cno INT PRIMARY KEY,
Cname VARCHAR(20) NOT NULL,
PCno INT,
Hours INT NOT NULL,
Credit INT NOT NULL,
FOREIGN KEY (PCno) REFERENCES Courses_8208210915 (Cno)
);
-- 创建选修表 Score_8208210915
CREATE TABLE Score_8208210915 (
Sno INT NOT NULL,
Cno INT NOT NULL,
Score INT NOT NULL,
PRIMARY KEY (Sno, Cno),
FOREIGN KEY (Sno) REFERENCES Students_8208210915 (Sno),
FOREIGN KEY (Cno) REFERENCES Courses_8208210915 (Cno)
);
```
在上述 SQL 语句中,使用 `ENUM('男', '女')` 来限制学生性别的取值只能为“男”或者“女”,使用 `FOREIGN KEY` 来定义必要的外键。其中,课程表 Courses_8208210915 中的 PCno 列是直接先修课编号,通过 `FOREIGN KEY (PCno) REFERENCES Courses_8208210915 (Cno)` 来实现对自己表的外键关联。
阅读全文