Настройка Графа сущностей

Назначение

Граф сущностей - это визуальный конструктор запросов, с помощью которого бизнес-аналитик имеет возможность указать объекты базы данных, условия и взаимосвязи между ними для получения и отображения информации на странице пользовательского приложения, и/или её сохранения.

В качестве сущностей, заданных в графе, могут выступать таблицы и представления (view) базы данных. Важно отметить, что понятие сущности не равно понятию таблицы, поскольку одна таблица может быть добавлена в граф сущностей несколько раз.

Необходимость настройки Графа сущностей возникает при использовании компонент, логика работы которых предусматривает формирование источника данных в виде SQL-запроса, например, Таблица, Форма и другие.

В зависимости от используемой компоненты и логики её работы, Граф сущностей использует три типа оператора SQL-запросов к базе данных:

Свойства

Для того, чтобы перейти к заполнению Графа сущностей настраиваемой компоненты, необходимо во встроенных функциях элемента перейти к разделу Подгрузка данных - Источник данных - Граф сущностей и нажать на кнопку (три точки). По нажатию на кнопку отобразится окно Редактор структуры сущностей, в котором происходит дальнейшее добавление необходимых объектов базы данных (таблиц или представлений) с соответствующими связями.

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

рис.3 Редактор структуры сущностей

рис.4 Область поиска

Добавление связей сущностей

Граф сущностей позволяет добавить сразу несколько объектов базы данных (таблиц и представлений) с соответствующими связями между собой. Одновременное использование нескольких таблиц позволяет получить достаточный и необходимый объем информации для вывода из базы данных с помощью SQL-запроса, формируемого Графом сущностей и отображения пользователю на странице с помощью компонент, например, Таблица, Форма и другие. Добавление связей возможно между объектами базы данных, которые либо явно ссылаются друг на друга по ключу, либо связь подразумевается, но внешними ключами не оформлена.

Для того, чтобы указать связь между сущностями (объектами базы данных) в Редакторе структуры сущностей, необходимо добавить элементы (таблицы или представления базы данных) и от таблицы, которая будет ссылаться на другую таблицу протянуть стрелку, нажав на указатель . Направление стрелки должно быть определено от вторичного ключа к первичному ключу. После добавления связи, необходимо выделить элемент и указать колонки, по которым будут связаны сущностиво вкладке Элемент: Исходящая колонка и Входящая колонка.

На языке SQL-запросов заданная связь (рис.8) будет иметь вид: LEFT OUTER JOIN public. Конференции AS Конференции ON Список сотрудников.employee_id = Конференции.updated_employee_id

При настройке и выборе элемента связи сущностей (стрелки ) становится активна вкладка Элемент, где помимо указания колонок связи сущностей (Исходящая и Входящая колонка), есть возможность задать следующие свойства (рис.9):

На языке SQL-запросов заданное условие (рис.10) будет иметь вид: LEFT OUTER JOIN public. Конференции AS Конференции ON Список сотрудников.employee_id=Конференции.updated_employee_id AND Список сотрудников.legal_entity_id IS NOT NULL

рис.8 Добавление связи между сущностями

рис.9 Свойства элемента связи (стрелки)

рис.10 Применение условия к элементу связи

Часто задаваемые вопросы

Вопрос Ответ
Чем отличается условие заданное через вкладку Структура на весь Граф сущностей и условие заданное на конкретную сущность во вкладке Элемент Заданные условия ничем не отличаются между собой, допустимо использование обоих вариантов указания условий, результат выполнения их будет одинаков.
После сохранения Графа сущностей, одна из заданных в нём таблиц была удалена или переименована в базе данных. Как это повлияет на структуру сущностей? В данном случае, при открытии Редактора структуры сущностей будет выведено окно с предупреждением. Граф сущностей необходимо будет перерисовать в соответствии с новой структурой базы данных.
В сохраненную базу данных была добавлена новая таблица, но она не отображается в Дереве БД Редактора структуры сущностей? После внесения изменений в структуру базы данных (новая таблица или представление, новая колонка в таблице) необходимо во вкладке База данных нажать на кнопку Обновить, дождаться завершения обновления, после чего внесенные изменения должны будут отобразиться.
Для чего необходима Главная сущность? Для компонент, требующих задания структуры сущностей, в Графе сущностей обязательно должна быть выделена Главная сущность, с которой начинаетсяподгрузка и сохранение данных на странице. Например, при работе с Таблицейи привязанной к ней Кнопкой выбора записи, запоминается идентификатор записи Главной сущности.