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 Course
Attribut in der BookCourses
Beziehung auf das Code
Attribut in der Courses
Beziehung 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 Courses
Beziehung lösche, werden dann alle referenzierenden Tupel in der BookCourses
Beziehung gelöscht , oder ist es umgekehrt?
Categories
Tabelle einenCourseID
als Primärschlüssel hat, während dieCourses
Tabelle den hatEntryID
. Sie müssen Ihre Namensentscheidungen ernsthaft überdenken.