Partager via


Utiliser des relations complexes avec Microsoft Dataverse

Microsoft Dataverse est une plateforme de données d’entreprise dans Power Platform qui permet aux organisations de créer des applications d’entreprise. Ces applications peuvent impliquer le suivi d’informations sur les processus métier qui incluent des relations complexes entre les données. Dataverse prend en charge les relations de données courantes à l’aide des types de relations intégrés un-à-plusieurs, plusieurs-à-un et plusieurs-à-plusieurs. Vous pouvez également implémenter des relations de plusieurs à plusieurs plus avancées lorsque vous devez suivre les données associées concernant la relation. Cette flexibilité est bénéfique pour les applications comme une application de gestion des événements, où le suivi des détails de présence nécessite plus que des associations simples.

Conseil / Astuce

Cet article fournit un exemple de scénario et une représentation visuelle de la façon de modéliser des relations de données complexes dans Microsoft Dataverse. Cette solution est un exemple d’architecture de scénario généralisé, qui peut être utilisé pour de nombreux scénarios et secteurs différents.

Diagramme d’architecture

Diagramme d’architecture montrant comment les tables Event, Contact et Event Participant se connectent pour suivre qui participe aux événements et les données associées sur chaque participant.

Flux de travail

Une application canevas Power Apps utilise Dataverse pour gérer les données d’une application de gestion des événements. L’application permet à l’utilisateur de suivre qui a assisté à l’événement (ou aux événements) hébergé par l’équipe commerciale de l’organisation.

  • Contact : La table contact suit les personnes que l’équipe commerciale invite à des événements.
  • Événement : la table d’événements suit les informations d’événement telles que le nom, la date et l’emplacement de chaque événement.
  • Participant à l’événement : la table Participant à l’événement effectue le suivi des participants à chaque événement et de leurs données de présence. Cette table a une relation plusieurs-à-plusieurs entre Contact et Événement. Elle est créée avec une relation plusieurs-à-un avec la table Contact et une relation plusieurs-à-un avec la table Événement. Cette configuration permet à cette table plusieurs-à-plusieurs d’inclure des données sur les participants d’un événement, telles que leur statut RSVP, leur statut de présence et s’ils ont payé des frais.

Cas d’utilisation

L’objectif principal de l’application de gestion des événements est de suivre la présence des événements et les informations connexes. Les exigences sont les suivantes :

  • L’application doit enregistrer qui a assisté à chaque événement et des détails sur sa participation.
  • Une personne peut assister à plusieurs événements.

Relation plusieurs à plusieurs intégrée

Lorsque l’équipe qui crée l’application a évalué les options de modélisation des données, ils ont envisagé la prise en charge intégrée de Dataverse pour les relations plusieurs à plusieurs. Cette approche permet à un contact d’assister à plusieurs événements. En arrière-plan, Dataverse crée une table d’intersection interne qui effectue le suivi des connexions entre le contact et une ou plusieurs lignes d’événements. Cette table interne n’est pas modifiable : des colonnes supplémentaires pour suivre les données relatives à la relation entre les deux tables ne peuvent pas être ajoutées. Bien que cette approche réponde aux exigences de l’application, elle ne prend pas en charge la nécessité de suivre les informations relatives à chaque événement auquel le contact participe, comme l’état du RSVP.

Relation plusieurs-à-plusieurs manuelle

Pour suivre des informations supplémentaires sur chaque événement auquel un contact participe, considérez le modèle de relation « plusieurs-à-plusieurs » manuel. Ce modèle implique la création d’une table personnalisée pour représenter la table d'intersection, puis l’établissement de deux relations plusieurs-à-un avec les deux tables qui définissent la relation. Avec cette approche, vous créez une table personnalisée, Participant à l’événement, pour représenter l’intersection entre contact et événement. La table Participant à l’événement comprend des relations plusieurs-à-un avec les tables Contact et Event, ce qui lui permet de stocker d’autres champs tels que l’état du RSVP, l’état de présence et les informations de paiement.

Bien que ce modèle offre plus de flexibilité que la relation plusieurs-à-plusieurs intégrée, utilisez-le uniquement lorsque vous devez stocker des données supplémentaires sur la relation.

Quand utiliser chaque approche

Approche intégrée plusieurs-à-plusieurs : Mieux si vous n’avez besoin que de savoir quels contacts sont liés aux événements, aucune information supplémentaire n’est requise. Automatise la gestion de l’intersection entre les tables et les lignes. Offre une expérience plus fluide pour lier plusieurs enregistrements à la fois, en particulier dans les applications basées sur des modèles, qui sont optimisées pour l’approche intégrée.

Manuel plusieurs-à-plusieurs : Utilisez quand vous devez stocker des données supplémentaires sur chaque relation. Il est plus facile d'ajouter des champs personnalisés via la table d'intersection. Fournit un contrôle total de la sécurité et vous permet d’automatiser quand et qui peut établir la relation. Nécessite plus d’étapes pour fournir des informations supplémentaires pour chaque ligne (particulièrement visible lors de l’association de plusieurs lignes à la fois).

Avec notre scénario, le modèle manuel peut impliquer que l'utilisateur se voit présenter un nouveau formulaire de ligne et doit, au minimum, s'assurer que les deux lignes à associer sont bien fournies. Dans les applications canevas Power Apps, les créateurs peuvent simplifier cette complexité en fournissant une expérience utilisateur qui simplifie l’association. Notez également que lorsque vous créez une relation manuelle, vous devez configurer les options en cascade sur les relations plusieurs-à-un pour vous assurer que si l’une des lignes associées est supprimée, les options en cascade automatisent la suppression de la ligne de table personnalisée qui suit la relation. Si vous ne configurez pas correctement les options en cascade pour supprimer la ligne de table d’intersection personnalisée, vous risquez de laisser des lignes orphelines.

Lorsque vous choisissez entre la meilleure option pour votre modèle de données, gardez à l’esprit qu’il n’existe aucune prise en charge intégrée pour la conversion entre les deux approches. Une fois que vous avez choisi une approche, vous ne pouvez pas basculer entre eux sans migrer vos données. Évaluez soigneusement toutes les relations plusieurs-à-plusieurs pour déterminer si l’approche de table personnalisée est nécessaire. Déterminez également si vous aurez besoin de données supplémentaires non seulement maintenant, mais à l’avenir. Le modèle manuel plusieurs-à-plusieurs, malgré sa complexité, offre plus de flexibilité.

Components

Power Apps est utilisé pour implémenter l’expérience utilisateur de la solution. Les créateurs créent l’application pour gérer les données dans Dataverse. Les créateurs doivent implémenter l’expérience utilisateur pour toutes les relations plusieurs-à-plusieurs qu’ils créent.

Dataverse : Dataverse gère les besoins en données de l’application. Dataverse fournit des types de relation plusieurs-à-un, un-à-plusieurs et plusieurs-à-plusieurs pour modéliser des connexions de données métier réelles.

Considérations

Ces considérations mettent en œuvre les piliers de Power Platform Well-Architected, un ensemble de principes directeurs qui améliorent la qualité d’une charge de travail. Pour en savoir plus, consultez la rubrique Microsoft Power Platform Well-Architected.

Reliability

Concevoir des charges de travail pour s’aligner sur les objectifs métier et éviter une complexité ou une surcharge inutiles : l’utilisation du modèle plusieurs-à-plusieurs manuel pour toutes les relations de ce type ajoute une complexité inutile à la création, à la maintenance et à l’expérience utilisateur de l’application. Veillez à évaluer chaque relation pour vous assurer que l’approche que vous choisissez correspond le mieux à vos besoins.

Security

Conception pour protéger la confidentialité et l’intégrité : les relations entre les données peuvent être sensibles et avoir un impact direct sur les opérations commerciales. Par défaut, le modèle de sécurité Dataverse prend en charge la sécurité granulaire sur la façon dont les données sont associées et les opérations qu’un utilisateur peut effectuer sur les lignes de données. Lorsque vous créez une relation plusieurs-à-plusieurs manuelle qui a une table d’intersection personnalisée, vous obtenez des contrôles supplémentaires qui peuvent être utilisés pour gérer qui peut faire quoi avec ces données de relation.

Excellence opérationnelle

Automatisez toutes les tâches qui ne bénéficient pas de l’insight et de l’adaptabilité de l’intervention humaine : utilisez l’automatisation en cascade sur les relations pour nettoyer automatiquement les lignes de table d’intersection personnalisées lorsque l’une des lignes associées est supprimée.

Optimisation de l’expérience

Conception à des fins de simplicité et d’efficacité : le choix du type de relation plusieurs-à-plusieurs affecte la façon dont l’utilisateur établit les relations entre les lignes de données de l’application. Lorsque vous utilisez le modèle manuel, établissez un moyen cohérent pour les utilisateurs de lier des données et d’optimiser les scénarios d’interaction courants de manière cohérente dans l’application. Pour les applications basées sur des modèles Power Apps, envisagez de fournir une expérience utilisateur plus personnalisée lors de l’utilisation du modèle manuel. Par exemple, à l’aide d’une page de canevas Power Apps personnalisée ou d’un contrôle PCF (Power Apps Component Framework), vous pouvez fournir une expérience d’interaction simplifiée similaire à celle d’une application canevas Power Apps.