如果我在数据库中有两个关系,如下所示:
CREATE TABLE Courses (
CourseID int NOT NULL PRIMARY KEY,
Course VARCHAR(63) NOT NULL UNIQUE,
Code CHAR(4) NOT NULL UNIQUE
);
CREATE TABLE BookCourses (
EntryID int NOT NULL PRIMARY KEY,
BookID int NOT NULL,
Course CHAR(4) NOT NULL,
CourseNum CHAR(3) NOT NULL,
CourseSec CHAR(1) NOT NULL
);
我会建立两者之间的外键关系,就像这样:
ALTER TABLE BookCourses
ADD FOREIGN KEY (Course)
REFERENCES Courses(Code)
ON DELETE CASCADE;
然后您可以看到,在 BookCourses
关系中,Course
属性引用了 Courses
关系中的 Code
属性。
我的问题是当两个关系中的任一一个发生删除操作时,删除会向哪个方向级联?如果我在 Courses
关系中删除一个元组,它是否会删除 BookCourses
关系中所有引用该元组的元组,还是反过来?