Если у меня есть два отношения в базе данных, например:
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отношении, или это наоборот?
Categoriesтаблицы естьCourseIDпервичный ключ, а уCoursesтаблицы -EntryID. Вы серьезно должны пересмотреть свой выбор имен.