2016-09-22 5 views
1

У меня есть случай, когда дизайнеры и менеджеры работают над проектом с определенной ролью.
Правильно ли это ER диаграмма?
У меня есть сомнения в отношении менеджера, дизайнера, роли и проекта.
ER Диаграмма:
ER Diagram
ER Диаграмма Дизайнерские сомнения

Или я просто сделать это как атрибут?
enter image description here

Вот таблица базы данных Представление Here is the Database table Representation

Дело также говорится, чтобы показать, что администратор управляет почти все.
Должен ли я делать отношения «Управляет»?


Вот полный случай:
• Администраторы могут войти управлять всеми
• Менеджеры могут Войти и может работать по проектам
• Разработчики могут также войти в системе и может работать по проектам
• Клиентам собственных проектов
• Менеджеры, дизайнеры и клиенты имеют страницы профиля, на которых перечислены проекты, с которыми они связаны. Администратора нет.
• Менеджеры могут быть дизайнеры работают для них
• Дизайнеров только один менеджер в то время, и администратор может изменить менеджер конструктора в любое время
• Менеджеры и дизайнеры, которые работают над проектом, присваиваются роль, которую Администратор может управлять (например, Champion Project, ведущий архитектор, безопасность инженер и т.д.)
• Проект должен иметь богатый текст описания
• Проект должен быть в состоянии иметь много фотографий и PDF файлы
• Только менеджеров и дизайнеров который работает над проектом, может редактировать проект (может также быть администратор)

ответ

1

Изготовление Role Атрибут означает, что Designer/Manager может работать только на Project в одном Role. Создание этого объекта с мощностью N в отношениях означает, что Designer/Manager может работать с Project несколькими Roles.

Между этими вариантами является возможность делает его сущность с мощности 1 в отношениях (имеется в виду PK состоит из Manager/Designer и Project). Независимо от того, будет ли это сущность или атрибут, зависит от того, есть ли у вас информация оRoles или просто хотите записать значение.

Ваш вопрос о том, следует ли сделать отношение Manages неясно - я не могу решить для вас, что означает «Почти все».

+0

Думаю, я сделаю мощность «Ролей» равной 1, что сделает ее более подходящей для этого случая. В данном случае указано, что 'Administrator' управляет заданием' Manager', 'Designer' и' Roles'. У меня есть другие мысли о том, чтобы не рисовать отношения «Управление». Это будет беспорядочно, но я думаю, что это необходимо, не так ли? –

+0

Это звучит как явное требование, так что да. – reaanb

+0

Итак, я все еще добавляю отношения 'Manages', хотя у него не будет данных внутри таблицы базы данных, верно? –