Как представить описательный атрибут отношения в ERwin Modeler?
В моделировщике связь представлена линией между двумя сущностями. Это не будет проблемой, если отношения не имеют описательных атрибутов. Но если это так, как я могу представить описательные атрибуты? Например, набор отношений advisor
между набором сущностей student
и набор сущностей instructor
имеет описательный атрибут date
для записи данных инструктор становится советником студента. Как я могу представить атрибут?
1 ответ
Отношения можно рассматривать как утверждение. Я считаю, что утверждение, которое представляет отношения здесь: инструктор выступает в качестве советника для студента.
В утверждении есть 3 существительных, что означает, что в отношении участвуют 3 сущности:
- инструктор
- Ученик
- консультант
Есть 2 фундаментальных объекта (студент и преподаватель), от которых зависит ассоциативный объект (консультант). Другими словами, экземпляру Adviser нужен экземпляр Instructor и Student, чтобы иметь смысл.
Простой ответ - просто сделать дату атрибутом Adviser. К сожалению, жизнь часто не так проста.
Верны ли следующие два утверждения?:
- Джим действует в качестве советника Джейн с 01.01.2009 по 30.06.2009.
- Джим действует в качестве советника Джейн с 01.01.2011 по 30.06.2011.
Если это так, то требуется новый объект (консультативный период). Консультативный период - количество времени, в течение которого инструктор выступает в качестве советника для студента.
Сущность "Консультативный период" будет зависеть от "Консультанта" (что требует наличия отношения "1:m" между "Консультантом" и "Консультативным периодом"), а даты начала и окончания периода будут записываться как неключевые атрибуты "Консультативного периода".
Надеюсь это поможет