在st_2中建立SC_2表,并按照SC设置学号、课程号及成绩。成绩限制在0~100分之间;Sno参照student_2表sno,并进行删除级联设置和更新级联设置;cno参照Course_2表cno,并进行更新级联设置和拒绝删除设置。
时间: 2024-02-28 10:54:23 浏览: 98
好的,根据您的要求,我给出建立SC_2表的SQL语句如下:
```
CREATE TABLE SC_2 (
Sno CHAR(10) NOT NULL,
Cno CHAR(10) NOT NULL,
Grade INT CHECK (Grade >= 0 AND Grade <= 100),
PRIMARY KEY (Sno, Cno),
FOREIGN KEY (Sno) REFERENCES student_2(Sno) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (Cno) REFERENCES Course_2(Cno) ON DELETE RESTRICT ON UPDATE CASCADE
);
```
这里使用了 `CASCADE` 和 `RESTRICT` 两种不同的外键约束,满足了您的要求。其中,`ON DELETE CASCADE` 表示当 student_2 表中的某个学生记录被删除时,对应的 SC_2 表中所有该学生的成绩记录也会被自动删除;`ON UPDATE CASCADE` 表示当 student_2 表中的某个学生记录的学号发生修改时,对应的 SC_2 表中所有该学生的成绩记录的学号也会被自动修改;`ON DELETE RESTRICT` 表示当 Course_2 表中的某个课程记录被删除时,对应的 SC_2 表中包含该课程的成绩记录不能被删除;`ON UPDATE CASCADE` 表示当 Course_2 表中的某个课程记录的课程号发生修改时,对应的 SC_2 表中所有该课程的成绩记录的课程号也会被自动修改。
阅读全文