Редактор связей
Этот раздел предназначен для редактирования связей между сущностями.
Редактирование связей осуществляется для выбранной сущности в разделе Ресурсы → Домены.
Редактор связей — это компонент системы, позволяющий задавать связи для сущностей.
О связях
Отношения между сущностями в доменах определяются при помощи связей.
Связь задается в схеме домена отдельным массивом, где хранятся ссылки на связанные сущности и ряд специальных параметров.
Как и сущность, связь может обладать атрибутами.
В системе доступна линейная связь. Она позволяет строить горизонтальные отношения между сущностями, задавая ограничения на количество объектов с левой и правой стороны связи.
Связи для сущности добавляются в разделе сущности домена, созданного по настроенной схеме, в панели компактного представления сущности.
Типы линейной связи
-
1-1 — позволяет связать сущность с другой сущностью по принципу "один — к одному". Сущности могут быть связаны этим типом связи только друг с другом.
Пример связи (1-1)
Пользователь → ИД
У сущности Пользователь может быть только один уникальный идентификационный номер, и наоборот.
-
1-N (или N-1) — позволяет связать одну сущность с несколькими сущностями по принципу "один — ко многим".
Пример связи (N-1)
Учетная запись → Пользователь
У Пользователя может быть много учетных записей, но у конкретной Учетной записи всегда есть только один Пользователь.
-
N-N — позволяет построить связи между многими сущностями по принципу "многие — ко многим". Несколько сущностей могут быть связаны этим типом связи с несколькими сущностями.
Пример связи (N-N)
Сервер → Администратор Сущность Сервер можно привязывать к нескольким администраторам. Администратор* также может быть связан с несколькими серверами.
В схеме домена мы всегда связываем одну сущность с другой. При этом в доменах, созданных на основе схемы, связываются объекты (экземпляры сущностей). Таким образом, в связях 1-1 связываются два объекта, а в связях 1-N и N-N один или несколько объектов связываются с несколькими объектами. |
Симметричность связи
Симметричная связь — в левой и правой частях связи указана одна и та же сущность.
Пример
Линейная направленная связь типа N-N между сущностями Задача и Задача. Здесь Задача блокирует Задачу.
Асимметричная связь — в левой и правой частях связи указаны разные сущности.
Пример
Линейная направленная связь типа 1-N между сущностями Пользователь и Задача. Здесь Пользователь является исполнителем по Задаче.
Направленность связи
-
Направленная связь — имеет строго заданное направление от левой стороны связи к правой, определяя связанные с этим ограничения.
Пример направленной связи.
В системе имеются сущности Уязвимость и Задача. Их соединяет направленная связь. Действие направлено от Уязвимости к Задаче. В результате Уязвимость породила Задачу (на устранение уязвимости).
-
Ненаправленная связь — в отличие от направленной, не имеет строго заданного направления и возможна только для линейных связей типа N-N.
Пример ненаправленной связи.
В системе имеются сущности Оборудование 1 и Оборудование 2. Их соединяет связь, но направление при этом отсутствует.
Название связи
Название связи отображается в интерфейсе и отражает характер отношения между сторонами связи. Задается отдельно для каждой из сторон связи.
Пример
Линейная направленная связь типа 1-N между сущностями Пользователь и Оборудование:
-
название связи, отображаемое со стороны Пользователя — Владеет;
-
название связи, отображаемое со стороны Оборудования — Владелец.
Параметры связи
Для того чтобы к сущностям домена можно было добавлять связь, при настройке схемы домена необходимо указать следующие параметры связи:
-
ID связи;
-
Название связи (опционально);
-
Описание связи, отображаемое в схеме домена (опционально).
-
Ссылки на сущности для сторон связи слева и справа;
-
Тип связи (1-1, 1-N, N-N);
-
Название связи для каждой стороны. Например, инцидент "блокирует задачу", задача "блокируется инцидентом".
-
Направление. Для связи типа N-N можно указать, является ли связь ненаправленной. По умолчанию связь направленная.
-
Атрибуты связи. Атрибуты связи задаются так же, как и атрибуты сущностей.
Работа со связями
В схеме домена можно настроить отображение в компактном представлении сущности одного из следующих типов редактора связей:
-
компактный редактор связей. Он задается для определенной стороны определенной связи. Для каждой связи отображается отдельное поле. Эти поля отображаются в списке в окне компактного представления сущности. Если для объекта уже выбраны объекты для связывания, их лейблы отображаются в поле связи. Лейбл — это комбинация атрибутов сущности для отображения в представлении.
-
расширенный редактор связей. Он включает в себя таблицы связей для объектов, связанных с текущим объектом. Для каждой связи отображается отдельная таблица. Таблицы связи можно сворачивать, нажав на стрелку рядом с их названиями.
Расширенный редактор связей отображается только для экземпляров, которые можно связать с несколькими экземплярами сущности.
Вы можете настроить в схеме домена отображение как атрибутов связанных объектов, так и атрибутов связи. Для этого используется поле columns в настройках расширенного редактора связей. В нем нужно указать ID атрибутов связанных объектов или связи для отображения.
ID атрибутов связанных объектов и связи не должны совпадать. В противном случае система отобразит в представлении значение для атрибута сущности, так как приоритет такого атрибута будет выше.
Доступные типы редакторов для сторон типов связи:
|
В редакторах можно выполнять определенные действия, описанные ниже:
Создание связи
Создать связь, т.е. указать связанный экземпляр сущности, можно как в момент создания экземпляра, так и при работе с экземпляром, уже имеющимся в системе.
Система отображает доступные для связывания сущности в соответствии со следующими правилами:
|
Создание связи в компактном редакторе
Чтобы создать связь:
-
Для имеющегося экземпляра сущности:
-
Выберите экземпляр сущности в списочном представлении. Система отобразит компактное представление сущности в правой панели.
-
Добавьте связь из поля связи:
-
Выберите в компактном представлении из выпадающего меню Действия (
) опцию Редактировать. Отобразится окно изменения сущности.
-
Нажмите на стрелку в поле с названием связи. В выпадающем списке отобразятся допустимые для связывания объекты.
-
Выберите сущность для связывания и нажмите кнопку Сохранить.
Вы также можете начать вводить в поле поиска списка последовательность символов. Система будет подставлять подходящие значения автоматически. Атрибуты сущности, по которым осуществляется поиск, настраиваются в схеме домена.
Система свяжет выбранную сущность с текущей сущностью и отобразит в поле связи.
Вместо использования меню Действия вы можете нажать на кнопку Редактировать (
) рядом с полем связи и выбрать сущность для связи непосредственно в этом поле.
-
-
-
Для нового экземпляра сущности:
-
Нажмите на кнопку
(Создать) в списочном представлении сущности. Система отобразит окно создания экземпляра сущности.
-
Нажмите на стрелку в поле с названием связи. В выпадающем списке отобразятся допустимые для связывания объекты.
-
Выберите экземпляр сущности для связывания.
-
Заполните поля в окне создания и нажмите кнопку Создать.
Вы также можете начать вводить в поле поиска списка последовательность символов. Система будет подставлять подходящие значения автоматически. Атрибуты сущности, по которым осуществляется поиск, настраиваются в схеме домена.
Система свяжет выбранную сущность с текущей сущностью и отобразит в поле связи.
-
Создание связи в расширенном редакторе
Чтобы создать связь:
-
Для имеющегося экземпляра сущности:
-
Выберите экземпляр сущности в списочном представлении. Система отобразит компактное представление сущности в правой панели. Отобразится таблица расширенного редактора связей.
-
Нажмите на кнопку
(Создать), расположенную справа сверху над таблицей редактора. Система отобразит таблицу добавления связей со списком всех экземпляров сущности, соответствующих характеристикам связи.
-
Выберите экземпляры сущности, которые нужно связать с текущим экземпляром, установив флажки слева от их названий. Набор колонок этой таблицы задается в схеме домена.
-
Нажмите на кнопку Создать.
-
-
Для нового экземпляра сущности:
-
Нажмите на кнопку
(Создать) в списочном представлении сущности. Система отобразит окно создания объекта. В нем отобразится таблица расширенного редактора связей.
-
Выберите экземпляры сущности, которые нужно связать с текущим экземпляром, установив флажки слева от их названий. Набор колонок этой таблицы задается в схеме домена.
-
Нажмите на кнопку Создать.
-
Если для экземпляра еще не заданы связи, вы также можете воспользоваться кнопкой Создать, отображаемой в таблице. |
Просмотр связанного экземпляра сущности
Просмотр связанного экземпляра сущности в компактном редакторе
Чтобы просмотреть связанный экземпляр, выберите экземпляр сущности.
В компактном представлении сущности система отобразит в редакторе связей информацию о связанных с ней экземплярах (при их наличии).
Информацию об экземплярах сущностей, связанных с текущим экземпляром сущности, можно просмотреть из редактора связей. В текущей вкладке можно просмотреть компактное представление связанного экземпляра, а в новой вкладке — его списочное представление.
-
Чтобы просмотреть выбранный связанный экземпляр, выполните одно из следующих действий (доступность действий определяется настройками схемы домена):
-
Нажмите левой кнопкой мыши на связанный экземпляр сущности. Система отобразит форму компактного представления для связанного экземпляра. Вернуться к компактному представлению исходной сущности можно по кнопке Назад в заголовке компактного представления.
-
Нажмите правой кнопкой мыши на связанный экземпляр сущности и в отобразившемся стандартном меню браузера выберите одно из следующих действий:
-
Открыть ссылку в новом окне;
-
Открыть ссылку в новой вкладке.
Система отобразит форму списочного представления, в котором будет открыто компактное представление для связанного экземпляра.
-
-
Если для связанного экземпляра сущности не определено списочное представление, действия в меню браузера Открыть ссылку в новой окне и Открыть ссылку в новом вкладке отображены не будут. |
Просмотр связанного экземпляра сущности в расширенном редакторе
Чтобы просмотреть связанный экземпляр, выберите экземпляр сущности.
В компактном представлении отобразятся таблицы для каждой из связей текущего экземпляра сущности. Они содержат связи текущего экземпляра сущности с другими экземплярами (при их наличии). Для каждой таблицы набор колонок задается в схеме домена. В них могут отображаться атрибуты связанных сущностей или атрибуты самой связи.
Выбранный связанный экземпляр текущего экземпляра сущности можно просмотреть в текущей или в новой вкладке. По нажатию на связанный экземпляр система отобразит меню, в котором можно выбрать одно из следующих действий для просмотра этой связи (доступность действий определяется настройками схемы домена):
-
Открыть (
) — открыть связанный экземпляр для просмотра в текущей вкладке.
-
Открыть в новой вкладке (
) — открыть связанный экземпляр для просмотра в новой вкладке. Действие недоступно, если у связанного объекта отсутствует списочное представление.
Удаление связи
Удаление связи в компактном редакторе
Чтобы удалить для текущего экземпляра связь с другим экземпляром:
-
Выберите экземпляр сущности. Система отобразит компактное представление сущности с полями связей в правой панели.
-
Удалить связь можно одним из следующих способов:
-
Из поля связи:
-
Нажмите на кнопку
рядом с названием связи. Поле связи станет доступным для редактирования.
-
В поле связи нажмите на крестик рядом с названием экземпляра, связь с которым нужно удалить.
-
Нажмите на кнопку Сохранить. Система удалит связь.
-
-
Из окна редактирования экземпляра сущности:
-
Выберите в компактном представлении из выпадающего меню Действия (
) опцию Редактировать. Отобразится окно редактирования экземпляра сущности.
-
В поле связи нажмите на крестик рядом с названием экземпляра, связь с которым нужно удалить.
-
Нажмите на кнопку Сохранить. Система удалит связь.
-
-
Внимание! Связь удаляется без отображения окна с подтверждением удаления. |
Удаление связи в расширенном редакторе
Чтобы удалить для текущего экземпляра сущности связь с другим экземпляром:
-
Выберите экземпляр сущности и перейдите в режим редактирования. В окне с компактным представлением отобразятся таблицы расширенном редактора связей для выбранного экземпляра. В верхней части таблицы отобразятся экземпляры, связанные с текущим экземпляром.
-
Снимите флажки для экземпляров, связь с которыми нужно удалить.
-
Нажмите на кнопку Сохранить. Система удалит выбранную связь с текущим экземпляром.
Внимание! Связь удаляется без отображения окна с подтверждением удаления. |