Si j'ai deux relations dans une base de données, comme ceci:
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
);
et j'établis une relation de clé étrangère entre les deux, comme ceci:
ALTER TABLE BookCourses
ADD FOREIGN KEY (Course)
REFERENCES Courses(Code)
ON DELETE CASCADE;
Ensuite, vous pouvez voir que l' Course
attribut dans la BookCourses
relation fait référence à l' Code
attribut dans la Courses
relation.
Ma question est lorsqu'une suppression se produit dans l'une des deux relations, de quelle manière la suppression en cascade? Si je supprime un tuple dans la Courses
relation, supprimera-t-il tous les tuples référençant dans la BookCourses
relation, ou est-ce l'inverse?
Categories
table aCourseID
comme clé primaire alors que laCourses
table a leEntryID
. Vous devez sérieusement repenser vos choix de dénomination.