Отношение ко многим на одной таблице выглядит в UML - PullRequest
2 голосов
/ 26 марта 2019

У меня проблема с пониманием многих и многих отношений в одной и той же таблице в UML.

Пользователь в моей базе данных имеет разрешение , в котором говорится, кто он (инструктор ) или ученик ).

Моя проблема в том, что у меня есть преподаватель, у которого может быть 0 или более учеников, и студент, у которого может быть 0 или более преподавателей.

Моя идея такова:

My UML diagram

Я не уверен, правильно ли это.Есть ли лучшее решение?

Спасибо за помощь всем:)

Ответы [ 2 ]

2 голосов
/ 26 марта 2019

Это зависит от того, чего вы хотите достичь.

Если вы пытаетесь построить документацию своей базы данных с использованием UML, тогда ваша модель не будет отличаться от того, что вы делали бы, например, с помощью нотации crowfoot.В этом случае ваша диаграмма верна.

Чтобы подчеркнуть связь, вы можете использовать класс ассоциации, связывающий пользователя с пользователем.Он приносит ценность только в том случае, если ваш класс ассоциации приносит какие-либо дополнительные значения (атрибуты), в противном случае вы можете использовать простую ассоциацию.

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

2 голосов
/ 26 марта 2019

тебе действительно нужно 2 отношения / много ко многим?

для меня есть только одно отношение к себе / один ко многим

User --
  ^   |
 *|   |
  ----/
  • если пользователь является инструктором, отношение обозначает студентов
  • если пользователь является студентом, отношение обозначает преподавателей
...