Créer une relation un-à-plusieurs entre des tables

Effectué

Cette unité montre comment implémenter des relations un-à-plusieurs dans Microsoft Dataverse avec la procédure suivante.

Conseil

Les relations un-à-plusieurs ou plusieurs-à-un sont les mêmes si vous regardez la relation d’un côté ou de l’autre.

Relation un-à-plusieurs

  1. Connectez-vous à Power Apps Maker Portal.

  2. Sélectionnez l’environnement dans lequel vous souhaitez travailler à l’aide de la liste déroulante dans la barre de menu supérieure.

  3. Cliquez sur Tables dans le volet de navigation latéral pour afficher une liste des tables disponibles.

    Capture d’écran de toutes les tables disponibles dans Dataverse.

  4. Sélectionnez l’une des tables où vous pourriez créer une relation avec une autre.

  5. Sur l’écran d’affichage des tables qui en résulte, recherchez le volet Schéma et cliquez sur Relations pour afficher les relations de la table avec d’autres.

    Capture d’écran des relations mises en évidence dans le volet Schéma.

  6. À partir de l’écran d’affichage des relations, vous pouvez voir toutes les relations actuelles de votre table. Vous pouvez en avoir de type Un-à-plusieurs, Plusieurs-à-un ou Plusieurs-à-plusieurs. Si vous souhaitez créer une relation, cliquez sur + Nouvelle relation dans la barre de commandes.

    Capture d’écran du bouton Nouvelle relation montrant les trois types disponibles pour la création.

  7. Ensuite, vous pouvez sélectionner l’option de relation Plusieurs-à-un, Un-à-plusieurs ou Plusieurs-à-plusieurs. Dans cet exemple, nous allons sélectionner une relation Un-à-plusieurs.

  8. Une fenêtre s’affiche alors sur le côté droit de l’écran avec le nom du type de relation que vous avez choisi (Un-à-plusieurs dans le cas présent), ainsi qu’un champ déroulant permettant de choisir la table associée.

    Conseil

    Dans les deux cas, une colonne de recherche est créée sur la table principale.

    Capture d’écran du volet des relations montrant l’option de liste déroulante pour la table associée.

    Le champ Table (plusieurs) associée vous permet de choisir la table avec laquelle créer cette relation.

  9. Une fois que vous avez sélectionné une table, Dataverse crée automatiquement une colonne de recherche et tout le nécessaire pour associer cette table à la table parente.

    Capture d’écran de la relation terminée.

  10. Pour enregistrer la nouvelle relation, cliquez sur Terminé.

  11. Après avoir enregistré la nouvelle relation, elle s’affiche dans votre liste Relations.

Vous pouvez désormais utiliser cette relation et la recherche dans votre solution métier. Une colonne de recherche est disponible pour afficher toutes les nombreuses lignes (enfants).

Comportements des relations un-à-plusieurs

Certaines tables n’ont pas de sens en elles-mêmes et sont généralement créées pour prendre en charge d’autres tables et processus. Elles comportent généralement une colonne de recherche obligatoire pour établir un lien vers la table principale qu’elles prennent en charge. Par exemple, un besoin métier pourrait être que la ligne Projet ne doive pas exister sans un compte associé. Dans ce cas, la table Projet a une relation plusieurs-à-un avec la table Compte et la colonne de recherche de compte est définie sur Champ commercial obligatoire.

Outre la définition de la manière dont les lignes peuvent être associées à d’autres, les relations de table un-à-plusieurs fournissent également des métadonnées pour répondre aux questions suivantes :

  • Lorsque je supprime une ligne, les lignes associées doivent-elles également être supprimées ?

  • Lorsque j’affecte une ligne à un nouveau propriétaire, dois-je également lui affecter toutes les lignes associées ?

  • Comment rationaliser le processus de saisie de données lorsque je crée une ligne associée dans le contexte d’une ligne existante ?

  • Comment les utilisateurs consultant une ligne doivent-ils pouvoir afficher les lignes associées ?

Le comportement relationnel sur les relations un-à-plusieurs vous permettent de définir la façon dont les lignes du côté plusieurs d’une relation de table sont affectées par des opérations telles qu’une affectation, un partage et une suppression sur la ligne parente. Les comportements relationnels sont importants, car ils permettent de garantir l’intégrité des données.

Comportements

Plusieurs types de comportements peuvent être appliqués lorsque certaines actions se produisent :

Comportement Description
Tout en cascade Effectuer l’action sur toutes les lignes de table associées.
Cascade active Effectuer l’action sur toutes les lignes de table associées actives.
Cascade propriétaire Effectuer l’action sur toutes les lignes de table associées appartenant au même utilisateur que la ligne de table principale.
Sans mise en cascade Ne rien faire.
Supprimer le lien Supprimer la valeur de recherche pour toutes les lignes associées.
Restreindre Empêcher la suppression de la ligne de table principale lorsque des lignes de table associées existent.

Actions

Voici les actions contrôlées par les comportements :

Colonne Description Comportements
Supprimer Que doit-il se passer lorsque la ligne de table principale est supprimée ? Tout en cascade, Supprimer le lien, Restreindre
Affecter Que doit-il se passer lorsque la ligne de table principale est affectée à quelqu’un d’autre ? Tout en cascade, Cascade active, Cascade propriétaire, Sans mise en cascade
Redéf. parenté Que doit-il se passer lorsque la valeur de recherche d’une table associée dans une relation parentale est modifiée ? Tout en cascade, Cascade active, Cascade propriétaire, Sans mise en cascade
Partager Que doit-il se passer lorsque la ligne de table principale est partagée ? Tout en cascade, Cascade active, Cascade propriétaire, Sans mise en cascade
Annuler le partage Que doit-il se passer lorsque le partage d’une ligne de table principale est annulé ? Tout en cascade, Cascade active, Cascade propriétaire, Sans mise en cascade
Fusionner Que doit-il se passer lorsqu’une ligne de table principale est fusionnée ? Tout en cascade, Sans mise en cascade
Vue cumulative Quel est le comportement souhaité de la vue cumulative associée à cette relation ? Tout en cascade, Cascade active, Cascade propriétaire, Sans mise en cascade

Remarque

Les comportements ne fonctionnent que sur les lignes associées lorsque l’action est effectuée sur la ligne parente, et non pour les actions effectuées sur les lignes associées, c.-à-d. que les comportements fonctionnent dans le sens un-à-plusieurs et non dans le sens plusieurs-à-un.

Types de comportements

Pour simplifier la définition des comportements relationnels, Microsoft a regroupé les comportements en types :

Type Description
Parental Toute action entreprise sur une ligne de la table parente est également effectuée sur les lignes de table enfant associées.
Référentiel, restriction de suppression Il est possible d’accéder à toutes les lignes associées. Les actions entreprises sur la ligne parente ne sont pas appliquées à la ligne enfant, mais la ligne parente ne peut pas être supprimée tant que la ligne enfant existe.
Référentiel, suppression du lien Il est possible d’accéder à toutes les lignes associées et les actions entreprises sur l’une n’affectent pas l’autre. Il s’agit du comportement par défaut.
Personnalisé Le comportement de chaque action possible peut être sélectionné.

Capture d’écran de la modification de la colonne principale.

Mappages de relations un-à-plusieurs

Vous pouvez mapper des colonnes entre des tables ayant une relation un-à-plusieurs. Ainsi, vous pouvez définir les valeurs par défaut pour une ligne créée dans le contexte d’une autre ligne. Les mappages permettent de rationaliser le processus de saisie de données lorsque les utilisateurs créent une ligne associée à partir du formulaire de la ligne parente dans une application pilotée par modèle.

Par exemple, lorsqu’une ligne de compte est ouverte et qu’un contact associé est créé, cette fonctionnalité préremplit le formulaire de contact avec les informations sélectionnées du compte telles que l’adresse du bureau, le numéro de téléphone principal, etc.

Considérations relatives à un mappage :

  • Y a-t-il une application pilotée par modèle ?

  • S’applique uniquement aux relations un-à-plusieurs.

  • S’applique uniquement lorsqu’une ligne associée est créée à partir du contexte du formulaire de ligne parente.

  • Ne s’applique pas si la ligne associée est créée et liée en sélectionnant une colonne de recherche.

  • Les valeurs des colonnes de la ligne parente sont copiées dans la ligne enfant.

  • Seuls les colonnes du même type de données peuvent être mappées.

  • Les utilisateurs peuvent remplacer les valeurs avant la création de la ligne.

  • La copie des valeurs s’effectue une seule fois lors de la création et aucune synchronisation future n’aura lieu.

Remarque

Configurez les mappages pour une relation à l’aide de l’Explorateur de solutions classique.

Relations hiérarchiques

Certaines tables standard Dataverse ont déjà des hiérarchies définies, par exemple Compte. Les lignes d’une hiérarchie peuvent s’afficher visuellement dans les applications pilotées par modèle.

Capture d’écran d’une relation hiérarchique.

L’option permettant de définir une relation hiérarchique n’est disponible que pour les relations autoréférentielles. Une relation autoréférentielle est une relation un-à-plusieurs entre une table et elle-même, dans laquelle la même table est définie à la fois comme table principale et comme table associée.

Capture d’écran de la création d’une relation hiérarchique.

Pour en savoir plus sur les relations de table, consultez Relations de table.