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