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' Course
attributo nella BookCourses
relazione fa riferimento Code
all'attributo nella Courses
relazione.
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 Courses
relazione, eliminerà tutte le tuple di riferimento nella BookCourses
relazione o è il contrario?
Categories
tabella abbiaCourseID
come chiave primaria mentre laCourses
tabella haEntryID
. Devi seriamente ripensare le tue scelte di denominazione.