Если у меня есть два отношения в базе данных, например:
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
. Вы серьезно должны пересмотреть свой выбор имен.