-- 切换到数据库 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 10:33:43 浏览: 62
好的,以上代码是用 SQL 语言在数据库 SC 中创建了三个表:Students_8208210915、Courses_8208210915 和 Score_8208210915。Students_8208210915 表包含学生的学号、姓名、性别和出生日期信息;Courses_8208210915 表包含课程的课程号、课程名、先修课程号、学时和学分信息;Score_8208210915 表包含学生选修课程的成绩信息,其中包括学生的学号、课程的课程号和成绩。表之间通过主键和外键进行关联。
相关问题
用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)` 来实现对自己表的外键关联。
阅读全文