Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕТОДОЛОГИЯ МОДЕЛИРОВАНИЯ БИЗНЕС-ПРОЦЕССОВ (1 курс) Буслаева О. В. .doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Связь «многие ко многим»

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

Это обусловлено тем, что отношение многие ко многим на ранних стадиях моделирования идентифицируется неправильно, на самом деле представляя два или несколько случаев отношений один-ко-многим между связанными сущностями.

Связь «многие ко многим» может быть преобразована к типу «один ко многим» либо вручную либо автоматически.

Автоматическое преобразование может быть выполнено при переходе на физический уровень. Для автоматического преобразования связи следует во вкладку General диалога Model, Model Property включить опцию Many-To-Many Relationships with Association Table. Преобразование связи включает создание новой таблицы и двух новых связей «один ко многим» от старых к новой таблице. При этом имя новой таблице присваивается автоматически как Имя1_Имя2. Автоматического решения проблемы связи многие-ко-многим не всегда оказывается достаточно.

Для принудительного преобразования связи «многие ко многим» на логическом уровне необходимо щелкнуть по связи правой кнопкой мыши и выбрать пункт меню Create Association Table. Many-To-Many Relationship Transform Wizard. Диалог Many-To-Many Relationship Transform Wizard предлагает 4 шага для преобразования связи. Для перехода к следующему шагу надо щелкнуть по кнопке Next (Далее). На втором и третьем шаге следует задать имя вновь создаваемой таблицы и имя преобразования.

На рис. П11 показан пример связи «многие ко многим». Преподаватель может преподать разные дисциплины, дисциплина может преподаваться разными преподавателями.

Рис. П11. Пример связи «многие ко многим»

В примере таблица Преподават_Предмет имеет смысл учебного занятия, поэтому ее следует переименовать согласно бизнес-логике в «УЧЕБНОЕ ЗАНЯТИЕ». Один и тот же предмет может много раз читаться преподавателем, например в разное время, поэтому для того, чтобы идентифицировать учебное занятие, необходимо в состав первичного ключа сущности «УЧЕБНОЕ ЗАНЯТИЕ» добавить дополнительный атрибут, например дату проведения занятия (рис. П12).

Рис. П12. Сущность УЧЕБНОЕ ЗАНЯТИЕ

Распространенные ошибки при моделировании сущностей и выборе ключей

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

Моделирование ролей

Что подразумевается под моделированием ролей? Во время рабочих сессий пользователи могут сказать вам, что им необходимо хранить информацию о сотрудниках. Возникает искушение создать сущность СОТРУДНИК. Более тщательный анализ информации, представляющей интерес для корпорации, например, такой как имя, адрес и номер социального страхования показывает, что эти значения не зависят от сущности СОТРУДНИК. Для конкретного СОТРУДНИКА значение атрибута ИМЯ не зависит от сущности СОТРУДНИК. Это легко понять, если задуматься о том, что ваше имя остается вашим именем вне зависимости от того, являетесь ли вы СОТРУДНИКОМ или нет.