Wenn ich zwei Beziehungen in einer Datenbank habe, wie folgt:
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
);
und ich stelle eine Fremdschlüsselbeziehung zwischen den beiden her, wie folgt:
ALTER TABLE BookCourses
ADD FOREIGN KEY (Course)
REFERENCES Courses(Code)
ON DELETE CASCADE;
Dann können Sie sehen, dass das CourseAttribut in der BookCoursesBeziehung auf das CodeAttribut in der CoursesBeziehung verweist .
Meine Frage ist, wann eine Löschung in einer der beiden Beziehungen auftritt. Auf welche Weise kaskadiert die Löschung? Wenn ich ein Tupel in der CoursesBeziehung lösche, werden dann alle referenzierenden Tupel in der BookCoursesBeziehung gelöscht , oder ist es umgekehrt?
CategoriesTabelle einenCourseIDals Primärschlüssel hat, während dieCoursesTabelle den hatEntryID. Sie müssen Ihre Namensentscheidungen ernsthaft überdenken.