Как сохранить назначение ресурсов одной или нескольким работам в MySQL - PullRequest
1 голос
/ 10 августа 2010

У меня есть различные типы ресурсов, которые могут быть назначены на работу. Мои ресурсы, на данный момент, являются техниками и оборудованием. Я хотел бы иметь возможность хранить старые назначения (иначе, нет статического столбца в таблицах ресурсов, ссылающихся на таблицу заданий).

Я рассматривал возможность использования таблицы для каждого ресурса, который отслеживает назначения, но я хотел бы знать, есть ли идеальное решение.

Мои таблицы (в иллюстративных целях):

TABLE equipment (
    id,
    type,
    PRIMARY KEY (id)
)
TABLE technicians (
    id,
    name,
    level,
    PRIMARY KEY (id)
)
TABLE jobs (
    jobno,
    starts,
    ends
    PRIMARY KEY (jobno)
)
TABLE table equipment_assignments (
    id,
    jobno,
    PRIMARY KEY (id, jobno),
    FORIEGN KEY (id) REFERENCES equipment(id),
    FORIEGN KEY (jobno) REFERENCES jobs(jobno)
)
TABLE table technician_assignments (
    id,
    jobno,
    PRIMARY KEY (id, jobno),
    FORIEGN KEY (id) REFERENCES technicians(id),
    FORIEGN KEY (jobno) REFERENCES jobs(jobno)
)

1 Ответ

1 голос
/ 10 августа 2010

Еще один способ сделать это - ввести таблицу ресурсов, на которую ссылается оборудование и техник, или которая содержит NULLable ссылку на оборудование и техника.Тогда у вас есть назначения ресурсов, а не специфичные для сущностей назначения, я бы сказал, что первый из этих подходов облегчает введение новых типов ресурсов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...