Создание отношения между таблицами

Примечание

С ноября 2020 г.:

  • Common Data Service переименована в Microsoft Dataverse. Подробнее
  • В Microsoft Dataverse изменена часть терминов. Например, сущность стала таблицей, а полестолбцом. Подробнее

Эта статья вскоре будет обновлена с учетом новой терминологии.

Данные в одной таблице часто связаны с данными в другой таблице. Например, может иметься таблица Преподаватели и таблица Класс, и таблица Класс может иметь отношение подстановки с таблицей Преподаватели для отображения того, какой преподаватель преподает в этом классе. Можно использовать столбец подстановки для отображения данных из таблицы Преподаватели. Обычно это называется столбцом подстановки.

Определение отношения

Можно создать несколько типов отношений одной таблицы с другой (или между таблицей и ей самой). Каждая таблица может иметь отношение с несколькими таблицами, и каждая таблица может иметь несколько отношений с другой таблицей. Некоторые распространенные типы отношений:

  • Многие к одному — в этом типе отношений каждая строка в таблице A может соответствовать нескольким строкам в таблице B, но каждая строка в таблице B может соответствовать только одной строке в таблице A. Например, класс имеет одну классную комнату. Это самый распространенный тип отношения, и он отображается в списке столбцов как Столбец подстановки
  • Один ко многим — в этом типе отношений каждая строка в таблице B может соответствовать нескольким строкам в таблице A, но каждая строка в таблице A может соответствовать только одной строке в таблице B. Например, один учитель преподает в нескольких классах.
  • Многие ко многим — в этом типе отношений каждой строке в таблице A может соответствовать несколько строк в таблице B и наоборот. Например, учащиеся посещают много классов, и в каждом классе имеется несколько учащихся.

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

Добавление столбца подстановки (отношение "многие-к-одному")

Для добавления отношения подстановки в таблицу создайте отношение на вкладке Отношения и укажите таблицу, с которой требуется создать отношение.

  1. На сайте powerapps.com разверните раздел Данные и выберите Таблицы на левой панели навигации.

  2. Выберите существующую таблицу или создайте новую таблицу

  3. Перейдите на вкладку Отношения.

  4. Выберите Добавить отношение, а затем выберите тип отношения, например Многие к одному.

  5. На правой панели выберите таблицу Связанный для таблицы Текущая, а затем выберите Готово.

    Пример отношения "многие-к-одному"

  6. Выберите Сохранить таблицу.

    Отношение "многие-к-одному"

Добавление отношения "один-ко-многим"

Для добавления отношения "один-ко-многим" создайте отношение на вкладке Отношения и укажите таблицу, с которой требуется создать отношение.

  1. На сайте powerapps.com разверните раздел Данные и выберите Таблицы на левой панели навигации.

  2. Выберите существующую таблицу или создайте новую таблицу

  3. Перейдите на вкладку Отношения.

  4. Щелкните стрелку вниз справа от Добавить отношение, а затем выберите Один ко многим.

    Отношение "один-ко-многим"

  5. Выберите таблицу. Обратите внимание, что столбцы подстановки будут отображаться в Текущей таблице с именем по умолчанию, совпадающим с именем таблиц (в данном примере это учитель), однако их можно изменить при необходимости. Выберите Готово, чтобы добавить отношение в вашу таблицу.

    Примечание

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

    Пример "Один ко многим"

  6. Выберите Сохранить таблицу.

Добавление отношения "многие ко многим"

Для добавления отношения "многие-ко-многим" создайте отношение на вкладке Отношения и укажите таблицу, с которой требуется создать отношение.

  1. На сайте powerapps.com разверните раздел Данные и выберите Таблицы на левой панели навигации.

  2. Выберите существующую таблицу или создайте новую таблицу

  3. Перейдите на вкладку Отношения.

  4. Выберите Добавить отношение, а затем выберите Многие-ко-многим. При этом открывается новая панель, в которой можно выбрать таблицу, с которой требуется создать отношение. Выберите таблицу в раскрывающемся списке Связанная таблица.

  5. После выбора таблицы появятся имена для отношения и таблице отношения. Они будут по умолчанию равны именам объединенных таблиц, однако их можно изменить при необходимости.

    Отношение "многие-ко-многим"

  6. Выберите Готово для добавления отношения к таблице, затем щелкните Сохранить таблицу.

Добавление расширенного поведения отношения

При создании отношения "один-ко-многим" или "многие-к-одному" можно также задать расширенные поведения.

Расширенное поведение

Эти параметры также называются каскадными поведениями, поскольку они каскадом распространяются вниз по иерархии связанных таблиц. Например, может быть желательно удалить связанные тесты домашнюю работу студента, если студент удаляется из системы. Этот тип поведения называется родительским отношением.

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

Когда вы моделируете бизнес-данных путем создания настраиваемых таблиц или при использовании существующих таблиц Common Data Model, рассмотрите требуемое вам поведение, а также последствия для всей иерархии связанных таблиц, затем выберите одно из следующих обычных поведений:

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

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

    Ссылочный, ограничить удаление

  • Родительский: в родительском отношении между двумя таблицами любое действие, выполняемое над строкой родительской таблицы, также выполняется над всеми связанными с ней строками дочерних таблиц. Например, это может привести к тому, что все дочерние строки будут удалены при удалении родительской строки.

  • Настраиваемый: в настраиваемом отношении между двумя таблицами выбирается поведение, связанное с каждым из наборов возможных действий.

    Настраиваемое поведение

Дополнительные сведения по значениям по умолчанию и настраиваемому поведению: Настройка поведения отношений таблиц.

Использование столбца подстановки в приложении

Если приложение создается автоматически из таблицы, которая содержит столбец подстановки, оно отображается как элемент управления Раскрывающийся список, содержащий данные из столбца Основное имя таблицы.

Добавление отношений 1:N и N:N для приложений холста

Воспользуйтесь функцией Связать, чтобы связать две строки с помощью отношения "один-ко-многим" или "многие-ко-многим" в Microsoft Dataverse. Дополнительные сведения: Функции связывания и отмены связывания в Power Apps

Дальнейшие шаги