Использование сложных связей с Microsoft Dataverse

Microsoft Dataverse — это корпоративная платформа данных в Power Platform, которая позволяет организациям создавать корпоративные приложения. Эти приложения могут включать в себя отслеживание сведений о бизнес-процессах, которые включают сложные связи между данными. Dataverse поддерживает общие связи данных с помощью встроенных типов связей "один ко многим", "многие к одному" и "многие ко многим". Кроме того, можно реализовать более сложные взаимосвязи типа "многие ко многим", когда необходимо отслеживать дополнительную информацию о связи. Эта гибкость полезна для таких приложений, как приложение для управления событиями, где для отслеживания сведений о посещаемости требуются более простые ассоциации.

Подсказка

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

Диаграмма архитектуры

Схема архитектуры, показывающая, как таблицы

Рабочий процесс

Платформенное приложение Power Apps использует Dataverse для управления данными в приложении для управления мероприятиями. Приложение позволяет пользователю отслеживать, кто присутствовал на мероприятии (или мероприятиях), проводимых командой продаж организации.

  • Контакт: Таблица контактов отслеживает людей, которых продажная команда приглашает на мероприятия.
  • Событие. Таблица событий отслеживает сведения о событиях, такие как имя, дата и расположение каждого события.
  • Участники событий: таблица участников событий отслеживает, кто посещает каждое событие и их данные о посещаемости. Эта таблица имеет связь "многие ко многим" между контактом и событием. Он создается с связью "многие ко одному" с таблицей "Контакт" и связью "многие ко одному" с таблицей событий. Эта настройка позволяет включить в эту таблицу "многие ко многим" данные о участниках мероприятия, таких как их статус RSVP, состояние посещаемости и то, платят ли они плату.

Сценарий использования

Основной целью приложения управления событиями является отслеживание посещаемости событий и связанных сведений. Ниже приведены требования.

  • Приложение должно записать, кто присутствовал на каждом мероприятии и подробно о их посещаемости.
  • Один человек может присутствовать на нескольких мероприятиях.

Встроенная связь "многие ко многим"

В процессе того, как команда по разработке приложения оценивала варианты моделирования данных, они рассматривали встроенную поддержку модели "многие-ко-многим" в Dataverse. Такой подход позволяет контакту присутствовать на нескольких событиях. За кулисами Dataverse создает внутреннюю таблицу взаимодействия, которая отслеживает подключения между контактом и одной или несколькими строками событий. Эта внутренняя таблица не является модификируемой— дополнительные столбцы для отслеживания данных о связи между двумя таблицами нельзя добавить. Хотя этот подход удовлетворяет части требований приложения, он не позволяет отслеживать информацию о каждом событии, на котором присутствует контакт, например, статус участия.

Вручную устанавливаемое отношение "многие ко многим"

Для отслеживания дополнительной информации о каждом событии, в котором участвует контакт, рассмотрите шаблон связей "ручное многие ко многим". Этот шаблон включает создание настраиваемой перекрёстной таблицы для представления таблицы пересечений, а затем установление двух отношений "многие ко одному" с двумя таблицами, определяющими связь. Благодаря этому подходу вы создаете пользовательскую таблицу, Посетитель События, для отображения взаимосвязи между Контактом и Событием. Таблица "Посетители мероприятий" содержит связи "многие к одному" с таблицами Контактов и Событий, что позволяет хранить дополнительные поля, такие как статус RSVP, статус посещения и информация об оплате.

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

Когда следует использовать каждый подход

Встроенный подход "многие ко многим": Наилучший вариант, если нужно только знать, какие контакты связаны с событиями, и никаких дополнительных сведений не требуется. Автоматизирует управление взаимодействием между таблицами и строками. Обеспечивает более плавный процесс для связывания нескольких записей одновременно, особенно в модельно-управляемых приложениях, которые оптимизированы для встроенного подхода.

Ручное соотношение "многие ко многим": Используйте, когда необходимо сохранить дополнительные данные о каждой связи. Проще добавлять настраиваемые поля через пересекающуюся таблицу. Обеспечивает полный контроль над безопасностью и позволяет автоматизировать, когда и кто может установить связь. Требует дополнительных действий, чтобы предоставить дополнительные сведения для каждой строки (особенно заметно при связывании нескольких строк за раз).

В нашем сценарии шаблон ручного ввода предполагает, что пользователю представлена новая форма строки и, как минимум, требует обязательной проверки, что связи между двумя строками установлены. В приложениях на основе холста Power Apps разработчики могут упростить сложные процессы, создавая пользовательский интерфейс, оптимизирующий взаимодействие. Обратите внимание, что при создании связи вручную необходимо настроить каскадные параметры для связей "многие к одному", чтобы убедиться, что при удалении одной из связанных строк каскадные параметры автоматизируют удаление настраиваемой строки таблицы, отслеживающей эту связь. Если вы не правильно настроите каскадные параметры для удаления настраиваемой строки межсекнутой таблицы, вы рискуете оставить потерянные строки.

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

Components

Power Apps используется для реализации пользовательского интерфейса решения. Создатели создают приложение для управления данными в Dataverse. Разработчики должны реализовать пользовательский опыт для любых связей "многие ко многим", которые они создают.

Dataverse: Dataverse обрабатывает потребности данных приложения. Dataverse предоставляет типы связей "многие к одному", "один ко многим" и "многие ко многим" для моделирования отношений с бизнес-данными реального мира.

Соображения

Эти соображения реализуют основы Power Platform Well-Architected — набора руководящих принципов, повышающих качество рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Power Platform Well-Architected.

Reliability

Разработка рабочих нагрузок для выравнивания бизнес-целей и предотвращения ненужных сложностей или накладных расходов. Использование шаблона вручную "многие ко многим" для всех связей этого типа добавляет ненужную сложность для создания приложений, обслуживания и взаимодействия с пользователем. Обязательно оцените каждую связь, чтобы убедиться, что выбранный подход лучше всего соответствует вашим требованиям.

Безопасность

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

Операционное превосходство

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

Оптимизация взаимодействия

Проектирование для простоты и эффективности. Выбор типа связи "многие ко многим" влияет на то, как пользователь устанавливает связи между строками данных в приложении. При использовании шаблона вручную создайте согласованный способ связи данных и оптимизации распространенных сценариев взаимодействия в приложении. Для модельно-управляемых приложений Power Apps рекомендуется обеспечить более кастомизированный пользовательский опыт при использовании ручного шаблона. Например, используя пользовательскую страницу холста Power Apps или элемент управления платформой компонентов Power Apps (PCF), вы можете обеспечить аналогичный упрощенный интерфейс взаимодействия, как в приложении на холсте Power Apps.