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

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

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

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

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

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

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

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

  1. На странице powerapps.com в левой области навигации выберите Таблицы. Если этого пункта нет на боковой панели, выберите …Еще, а затем выберите нужный пункт.

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

  3. Выберите область Отношения.

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

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

    ![Пример отношения "многие-к-одному".](./media/data-platform-cds-newrelationship/manytoone-2.png "Пример отношения "многие-к-одному"")

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

    ![Отношение "многие-к-одному".](./media/data-platform-cds-newrelationship/manytoone-3.png "Отношение "многие-к-одному"")

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

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

  1. На странице powerapps.com выберите Таблицы в левой области навигации. Если этого пункта нет на боковой панели, выберите …Еще, а затем выберите нужный пункт.

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

  3. Выберите область Отношения.

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

    ![Отношение "один к многим".](./media/data-platform-cds-newrelationship/onetomany-1.png "Отношение "один-ко-многим"")

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

    Примечание

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

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

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

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

Чтобы добавить отношение "Многие ко многим", создайте отношение в области Отношения и укажите другую таблицу, с которой необходимо установить отношение.

  1. На странице powerapps.com выберите Таблицы в левой области навигации. Если этого пункта нет на боковой панели, выберите …Еще, а затем выберите нужный пункт.

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

  3. Выберите область Отношения.

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

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

    ![Отношение "многие-ко-многим".](./media/data-platform-cds-newrelationship/manytomany-1.png "Отношение "многие-ко-многим"")

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

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

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

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

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

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

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

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

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

    Ссылочное с ограниченным удалением.

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

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

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

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

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

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

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

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

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

Примечание

Каковы ваши предпочтения в отношении языка документации? Пройдите краткий опрос (обратите внимание, что этот опрос представлен на английском языке).

Опрос займет около семи минут. Личные данные не собираются (заявление о конфиденциальности).