在SC中增加名为FK_Cno的外码,使得SC中的Cno与Course的Cno间具有参照完整性,且有同学选修该课程时该门课程不能删除
时间: 2024-05-08 18:16:03 浏览: 21
在SC表中增加外键FK_Cno,参照Course表的主键Cno:
```
ALTER TABLE SC ADD CONSTRAINT FK_Cno FOREIGN KEY (Cno) REFERENCES Course(Cno);
```
然后,我们需要给FK_Cno添加ON DELETE RESTRICT选项,以确保在Course表中仍有同学选修该课程时,不能删除该门课程:
```
ALTER TABLE SC ADD CONSTRAINT FK_Cno FOREIGN KEY (Cno) REFERENCES Course(Cno) ON DELETE RESTRICT;
```
这样,当在Course表中删除某门课程时,如果该课程仍有同学选修,则会出现外键约束错误,从而阻止删除操作。
相关问题
MySQL的表中,为Sc表中的Sno添加外码约束,引用Student表的Sno;为Sc表添加外码约束,引用Course表的Cno。
为Sc表中的Sno添加外码约束,引用Student表的Sno,可以使用以下SQL语句:
```
ALTER TABLE Sc ADD CONSTRAINT fk_sc_sno FOREIGN KEY (Sno) REFERENCES Student(Sno);
```
为Sc表添加外码约束,引用Course表的Cno,可以使用以下SQL语句:
```
ALTER TABLE Sc ADD CONSTRAINT fk_sc_cno FOREIGN KEY (Cno) REFERENCES Course(Cno);
```
这两个语句将会在Sc表中分别添加两个外键约束,确保在插入或更新数据时,Sc表中的Sno和Cno值必须在Student表和Course表中存在对应的值,否则将会被拒绝。
创建SC1表 属性:Sno(学号) Cno(课程号) Grade(成绩) SC1 的约束: 主码:(sno,cno) ,主码名为 PK_SC l成绩(grade)只能在 0 – 100分之间 SC1的外码: 外码:SC1 表的sno 参照表 student1 的 sno 外码:SC1 表的Cno 参照表 course1 的 cno
可以使用以下 SQL 语句创建 SC1 表:
```
CREATE TABLE SC1 (
Sno CHAR(10),
Cno CHAR(10),
Grade INT,
PRIMARY KEY (Sno, Cno),
CONSTRAINT PK_SC PRIMARY KEY (Sno, Cno),
CONSTRAINT CHK_Grade CHECK (Grade >= 0 AND Grade <= 100),
CONSTRAINT FK_Sno FOREIGN KEY (Sno) REFERENCES student1 (sno),
CONSTRAINT FK_Cno FOREIGN KEY (Cno) REFERENCES course1 (cno)
);
```
解释如下:
- `Sno CHAR(10)`:学号属性,使用 CHAR 类型,长度为 10。
- `Cno CHAR(10)`:课程号属性,使用 CHAR 类型,长度为 10。
- `Grade INT`:成绩属性,使用 INT 类型。
- `PRIMARY KEY (Sno, Cno)`:设置 Sno 和 Cno 为主键。
- `CONSTRAINT PK_SC PRIMARY KEY (Sno, Cno)`:设置主键名称为 PK_SC。
- `CONSTRAINT CHK_Grade CHECK (Grade >= 0 AND Grade <= 100)`:设置成绩的取值范围为 0 到 100。
- `CONSTRAINT FK_Sno FOREIGN KEY (Sno) REFERENCES student1 (sno)`:设置 Sno 为外键,参照表为 student1 的 sno 属性。
- `CONSTRAINT FK_Cno FOREIGN KEY (Cno) REFERENCES course1 (cno)`:设置 Cno 为外键,参照表为 course1 的 cno 属性。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)