根据语义为选课表(sc)的 sno 列和 cno 列建立外键,并要求级联删除(也就是当删除学生或课程表的记录时,自动删除选课表中的相应记录)。操作成功后,文件命名为 T3.sql。
时间: 2024-10-01 22:06:45 浏览: 101
SQL资源SQL语言教程&案例&项目资源链接(面试或考试版).pdf
在SQL中,为了根据`sno`(学生ID)和`cno`(课程ID)为选课表(`sc`)创建外键并设置级联删除规则,你需要编写一条ALTER TABLE语句。假设`students`表的主键是`sno`,而`courses`表的主键是`cno`,以下是创建这个外键关联的T3.sql脚本示例:
```sql
CREATE TABLE IF NOT EXISTS students (
sno INT PRIMARY KEY,
... -- 其他字段
);
CREATE TABLE IF NOT EXISTS courses (
cno INT PRIMARY KEY,
... -- 其他字段
);
CREATE TABLE IF NOT EXISTS sc (
sid INT,
cid INT,
FOREIGN KEY (sid) REFERENCES students(sno),
FOREIGN KEY (cid) REFERENCES courses(cno)
ON DELETE CASCADE -- 级联删除规则,如果学生表或课程表的记录被删除,会自动删除对应的选课记录
);
```
在这个脚本里,我们首先创建了`students`和`courses`表,然后在`sc`表中添加了对外键`sno`和`cno`的引用,并设置了它们的`ON DELETE CASCADE`选项。这表示当删除`students`或`courses`表中的记录时,相应的`sc`表记录会被自动删除。
阅读全文