Самостоятельно связанное ренессанс со схемой - PullRequest
0 голосов
/ 12 февраля 2020

Как мне преобразовать эти самосвязанные отношения в схему?

самоотношения

1 Ответ

0 голосов
/ 12 февраля 2020

Если один курс имеет предварительное условие 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)
)
...