创建选课表SC,属性为Sno、Cno、Tno和Grade,数据类型分别为char(5)、char(3)、char(5)和decimal(4,1),要求同时创建名为PK_SCT的主码(Sno,Cno,Tno),名为FK_Sno的外码,使得SC中的Sno与Student的Sno间具有参照完整性,且在删除已有选课信息的学生时级联执行,禁止修改已有选课信息的学号为当前学生表中不存在的学号*
时间: 2024-03-22 14:41:55 浏览: 194
可以使用以下 SQL 语句创建选课表 SC:
```sql
CREATE TABLE SC (
Sno CHAR(5) NOT NULL,
Cno CHAR(3) NOT NULL,
Tno CHAR(5) NOT NULL,
Grade DECIMAL(4,1),
PRIMARY KEY (Sno, Cno, Tno),
FOREIGN KEY (Sno) REFERENCES Student(Sno)
ON DELETE CASCADE
ON UPDATE RESTRICT
);
```
其中,`Student` 是学生表的表名,`Sno` 是学生表中的学号字段。这条语句创建了一个名为 `SC` 的表,其中包含了学生编号、课程编号、教师编号和成绩四个字段。同时定义了一个名为 `PK_SCT` 的主键,由学生编号、课程编号和教师编号三个字段组成。还定义了一个名为 `FK_Sno` 的外键,使得 `SC` 中的 `Sno` 字段与 `Student` 表中的 `Sno` 字段具有参照完整性,并且在删除已有选课信息的学生时级联执行。最后,使用 `ON UPDATE RESTRICT` 来禁止修改已有选课信息的学号为当前学生表中不存在的学号。
相关问题
创建选课表sc,属性为sno,cno,tno,grade,数据类型分别为char(5)
好的,根据你的需求,我可以使用以下 SQL 语句来创建名为 sc 的选课表,属性包括 sno、cno、tno 和 grade,数据类型都为 char(5):
```
CREATE TABLE sc (
sno CHAR(5) NOT NULL,
cno CHAR(5) NOT NULL,
tno CHAR(5) NOT NULL,
grade CHAR(5) DEFAULT NULL,
PRIMARY KEY (sno, cno, tno),
FOREIGN KEY (sno) REFERENCES student(sno),
FOREIGN KEY (cno) REFERENCES course(cno),
FOREIGN KEY (tno) REFERENCES teacher(tno)
);
```
在这个 SQL 语句中,我们使用了 CHAR(5) 数据类型来定义 sno、cno、tno 和 grade 四个属性,表示它们的长度都为 5 个字符。同时,我们也添加了三个外键,确保数据的完整性和一致性。
创建选课表sc,属性为Sno、Cno、Tno和Grade,数据类型分别为char(5)、char(3)、char(5)和decimal(3,1 ,主码为(Sno,Cno,Tno),主码名为 PK—
好的,根据你的需求,我可以使用以下 SQL 语句来创建名为 sc 的选课表,属性包括 Sno、Cno、Tno 和 Grade,数据类型分别为 char(5)、char(3)、char(5) 和 decimal(3,1),主码为 (Sno,Cno,Tno),主码名为 PK_sc:
```
CREATE TABLE sc (
Sno CHAR(5) NOT NULL,
Cno CHAR(3) NOT NULL,
Tno CHAR(5) NOT NULL,
Grade DECIMAL(3,1) DEFAULT NULL,
PRIMARY KEY (Sno, Cno, Tno)
CONSTRAINT PK_sc PRIMARY KEY
);
```
在这个 SQL 语句中,我们使用了 CHAR(5)、CHAR(3) 和 CHAR(5) 数据类型来定义 Sno、Cno 和 Tno 三个属性,表示它们的长度都为 5、3 和 5 个字符。同时,我们使用了 DECIMAL(3,1) 数据类型来定义 Grade 属性,表示它的总长度为 3 个数字,小数位为 1。我们还指定了主键为 (Sno,Cno,Tno),主键名为 PK_sc。
注意,为了指定主键名,我们使用了 CONSTRAINT 关键字,后面跟着主键名和 PRIMARY KEY 关键字。
阅读全文
相关推荐

















