如何将这种自链接关系转换为架构?
如果一门课程具有ATMOST ONE先决条件。
CREATE TABLE course_catalog (
course_no <type> PRIMARY KEY,
... other fields
prerequisite_course_no <type same as course_no>,
FOREIGN KEY(prerequisite_course_no) REFERENCES course_catalog(course_no)
)
如果没有先决条件,请保留prerequisite_course_no字段为空。
如果一门课程可以有许多先决条件。
CREATE TABLE course_catalog (
course_no <type> PRIMARY KEY,
... other fields
);
CREATE TABLE course_prerequisites (
course_no <type>,
prerequisite_course_no <type same as course_no>,
PRIMARY KEY(course_no,prerequisite_course_no),
FOREIGN KEY(prerequisite_course_no) REFERENCES course_catalog(course_no),
FOREIGN KEY(course_no) REFERENCES course_catalog(course_no)
)