Если у меня есть два отношения в базе данных, как это:
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;
Затем вы можете видеть, что атрибут Course
в отношении BookCourses
ссылается на атрибут Code
в отношении Courses
.
Мой вопрос: когда удаление происходит в одном из двух отношений, каким образом происходит каскад удаления? Если я удалю кортеж в отношении " Courses
, удалит ли он все ссылочные кортежи в отношении " BookCourses
, или наоборот?