Se ho due relazioni in un database, in questo modo:
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 stabilisco una relazione di chiave esterna tra i due, in questo modo:
ALTER TABLE BookCourses
ADD FOREIGN KEY (Course)
REFERENCES Courses(Code)
ON DELETE CASCADE;
Quindi puoi vedere che l' Courseattributo nella BookCoursesrelazione fa riferimento Codeall'attributo nella Coursesrelazione.
La mia domanda è quando si verifica una cancellazione in una delle due relazioni, in che modo si elimina la cancellazione? Se elimino una tupla nella Coursesrelazione, eliminerà tutte le tuple di riferimento nella BookCoursesrelazione o è il contrario?
Categoriestabella abbiaCourseIDcome chiave primaria mentre laCoursestabella haEntryID. Devi seriamente ripensare le tue scelte di denominazione.