用SQL创建数据库SC以及学生表Students_8208210915、课程表Courses_8208210915和选修表Score_8208210915,其中学生的性别取值只能为“男”或者“女”,在表上定义必要的主、外键。
时间: 2024-04-06 11:34:32 浏览: 38
好的,以下是创建数据库SC以及三张表的SQL语句:
```
-- 创建数据库SC
CREATE DATABASE SC;
-- 使用数据库SC
USE SC;
-- 创建学生表Students_8208210915
CREATE TABLE Students_8208210915 (
Sno CHAR(10) PRIMARY KEY, -- 学号
Sname VARCHAR(20) NOT NULL, -- 姓名
Gender ENUM('男', '女') NOT NULL, -- 性别
Birthday DATE NOT NULL -- 出生日期
);
-- 创建课程表Courses_8208210915
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 -- 学分
);
-- 创建选修表Score_8208210915
CREATE TABLE Score_8208210915 (
Sno CHAR(10) NOT NULL, -- 学号
Cno CHAR(10) NOT NULL, -- 课程编号
Score INT NOT NULL, -- 成绩
PRIMARY KEY (Sno, Cno), -- 主键
FOREIGN KEY (Sno) REFERENCES Students_8208210915(Sno), -- 学号外键
FOREIGN KEY (Cno) REFERENCES Courses_8208210915(Cno) -- 课程编号外键
);
```
注意,我在学生表的性别字段上使用了 ENUM 类型,这是一个枚举类型,只能取值为 "男" 或 "女"。同时,在选修表上我定义了一个联合主键 (Sno, Cno),这是因为一个学生可以选修多门课程,但是每门课程只有一个成绩。
阅读全文