Se eu tiver duas relações em um banco de dados, assim:
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
);
e eu estabeleço um relacionamento de chave estrangeira entre os dois, assim:
ALTER TABLE BookCourses
ADD FOREIGN KEY (Course)
REFERENCES Courses(Code)
ON DELETE CASCADE;
Então você pode ver que o Course
atributo na BookCourses
relação faz referência ao Code
atributo na Courses
relação.
Minha pergunta é quando ocorre uma exclusão em qualquer uma das duas relações. De que maneira a exclusão é em cascata? Se eu excluir uma tupla na Courses
relação, ela excluirá todas as tuplas de referência na BookCourses
relação ou será o contrário?
Categories
tabela possui aCourseID
como Chave Primária enquanto aCourses
tabela possui oEntryID
. Você realmente precisa repensar suas opções de nomes.