ถ้าฉันมีสองความสัมพันธ์ในฐานข้อมูลเช่นนี้
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
);
และฉันสร้างความสัมพันธ์สำคัญต่างประเทศระหว่างสองเช่นนี้
ALTER TABLE BookCourses
ADD FOREIGN KEY (Course)
REFERENCES Courses(Code)
ON DELETE CASCADE;
จากนั้นคุณจะเห็นว่าCourseแอตทริบิวต์ในBookCoursesความสัมพันธ์อ้างอิงCodeคุณลักษณะในCoursesความสัมพันธ์
คำถามของฉันคือเมื่อการลบเกิดขึ้นในความสัมพันธ์แบบใดแบบหนึ่งจากสองแบบใดการลบแบบนี้จะทำอย่างไร หากฉันลบสิ่งอันดับในCoursesความสัมพันธ์มันจะลบสิ่งอันดับอ้างอิงทั้งหมดในBookCoursesความสัมพันธ์หรือเป็นวิธีอื่น ๆ
CategoriesตารางมีCourseIDเป็นคีย์หลักในขณะที่ตารางมีCoursesEntryIDคุณต้องคิดใหม่เกี่ยวกับตัวเลือกการตั้งชื่อของคุณอย่างจริงจัง