ER Моделирование - Подкласс отношений и сущностей отношений - PullRequest
0 голосов
/ 27 мая 2018

У меня есть пара конкретных вопросов, касающихся моделирования ЭР.

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

Справочная информация

  • Модель ER отображает небольшую базу данных для бухгалтерской фирмы, которая позволяет им управлять своими клиентами, их аудиторскими работами (ежегодная работа),время и плата за эти работы и несколько других мелких деталей.Куски и кусочки глупы (например, личный помощник typingSpeed, но это требования к проекту)
  • Каждый клиент должен проходить 1 аудит в год, и этот аудит выполняют 1 или более сотрудников, которые работают в бухгалтериифирма
  • Клиентом (и аудиторской работой) управляет менеджер.У каждого клиента есть только один менеджер, который управляет ими, и каждый менеджер может управлять несколькими клиентами
  • Поскольку сотрудники работают над аудитом, они отводят время на аудит.Стоимость аудита рассчитывается как умноженная на их начисление ставка, умноженная на общее количество часов, отведенных на аудит
  • Каждый сотрудник работает в 1 и только в 1 группе.В команде работает 1 или более сотрудников.
  • Партнер - это подкласс суперкласса персонала с уникальным номером rca, идентифицирующим их (бухгалтерский жаргон).Каждый партнер возглавляет команду, и у каждой команды есть один и только один партнер
  • У каждого партнера есть личный помощник, и каждый личный помощник работает только на 1 партнера

Модель ER

Время аудита и сборы Модель ER

Вопросы

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

  2. Я использовал необязательные или отношения для подклассов персонала, что, на мой взгляд, хорошо, поскольку сотрудник не может выполнять одновременно ни одну из ролей.Единственная пропущенная роль в качестве подкласса - это роль «аудитора».Если бы я включил это, было бы «необязательно» или «изменилось бы» на «обязательное» или «, поскольку показаны все возможные варианты, и сотрудник должен быть одной из этих 4 ролей?

  3. * 1046»* Между Annual_audit и Staff у меня есть сущность отношений (я мог бы назвать это чем-то неправильным).Это правильный способ показать отношения?Я тоже пытался использовать троичные отношения, но несколько раз возвращался назад и вперед.
  4. Любая общая обратная связь или указание на ошибки приветствуются

Большое спасибо за любую помощь, которую кто-либо может оказать.

1 Ответ

0 голосов
/ 30 мая 2018

Партнер и Личный помощник являются подклассами, и согласно моей диаграмме существует обязательное отношение 1..1.Является ли «законным» иметь определенные отношения между подклассами?

Совершенно верно иметь отношения между подтипами и / или супертипами.

Я использовал опционально,или отношения для подклассов персонала, что, на мой взгляд, хорошо, так как сотрудник не может быть одновременно ни одной из ролей.Единственная пропущенная роль в качестве подкласса - это роль «аудитора».Если бы я включил это, было бы «необязательно» или «изменилось бы» на «обязательное» или «, поскольку показаны все возможные варианты, и сотрудник должен играть одну из этих четырех ролей?»

Это звучитправильный.Я предпочел бы использовать термин «дизъюнкт», чем «или».

Между Annual_audit и Staff у меня есть сущность отношений (я мог бы назвать это чем-то неправильным).Это правильный способ показать отношения?Я также пытался использовать троичные отношения, но в конечном итоге несколько раз возвращался назад и вперед.

В модели ER нет такого понятия, как «сущность отношения».Возможно, вы думаете об ассоциативных объектах, которые используются в сетевой модели данных для разложения отношений «многие ко многим».Модель ER поддерживает отношения «многие ко многим» напрямую и не нуждается в ассоциативных объектах для этой цели, хотя они по-прежнему имеют место в подчинении отношений другим отношениям.

Annual_audit в вашей диаграмме является слабымотношение сущности.Staff - это регулярное отношение сущности.Между ними Charges time, которое является отношением многих ко многим.Обозначение достаточно читабельно, если вы знаете понятия.Тем не менее, обозначения Чена будут представлять концепции более четко, в то время как диаграммы, похожие на схемы таблиц, лучше работают для физических моделей.

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

Наконец, я предлагаю вам не смешивать концепции и терминологию ООП и моделирования данных.Моделирование данных предназначено для представления знаний, ООП - для систем моделирования.Используйте «подтип» для подтипов / подмножеств наборов сущностей, «подклассы» для производных классов в контексте программирования.

...