Якщо у мене в базі даних є два відносини, наприклад:
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. Вам серйозно потрібно переосмислити свій вибір імен.