如果我在数据库中有两个关系,如下所示:
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
,还是相反?
请使用正确的列名以避免混淆并清除数据库结构。
—
Gunjan Shah 2013年
Categories
表有一个CourseID
作为主键而Courses
表有一个EntryID
。您非常需要重新考虑您的命名选择。