-- 切换到数据库 SC USE SC; -- 创建学生表 Students_8208210915 CREATE TABLE Students_8208210915 ( Sno INT PRIMARY KEY, Sname VARCHAR(20) NOT NULL, Gender CHAR(2) CHECK (Gender IN ('男', '女')), 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) );
时间: 2024-04-06 15:33:52 浏览: 18
好的,我已经记住了这段代码,这是用 SQL 语言创建了一个学生选课系统的数据库,包括三个表:学生表 Students_8208210915、课程表 Courses_8208210915 和选修表 Score_8208210915。其中,学生表包括学生编号 Sno、姓名 Sname、性别 Gender 和生日 Birthday;课程表包括课程编号 Cno、课程名称 Cname、先修课程编号 PCno、学时 Hours 和学分 Credit;选修表包括学生编号 Sno、课程编号 Cno 和成绩 Score。
相关问题
用SQL创建数据库SC以及学生表Students_8208210915、课程表Courses_8208210915和选修表Score_8208210915,其中学生的性别取值只能为“男”或者“女”,在表上定义必要的主、外键。
根据您的要求,可以使用以下 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)` 来实现对自己表的外键关联。
创建数据库SC和SC的三张表学生表Students_8208210915、课程表Courses_8208210915和选修表Score_8208210915,其中学生的性别取值只能为“男”或者“女”,在表上定义必要的主、外键。
根据您的要求,可以使用以下 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)` 来实现对自己表的外键关联。