Ако имам две релации в база данни, като това:
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
. Сериозно трябва да преосмислите избора си за име. - person ypercubeᵀᴹ   schedule 19.11.2012