Relations de table

Effectué

Lorsque vous utilisez Microsoft Dataverse, vous devez tenter de conserver les informations sur les différents jeux de données dans des tables distinctes. Cette opération est appelée la normalisation des données. Les relations de table définissent les différentes manières dont des lignes d’une table peuvent être associées à des lignes d’autres tables.

Nous avons découvert plus tôt dans ce module qu’une table de base de données a une clé primaire pour des lignes de référence uniques de la table. Dans Dataverse, une relation entre deux tables recherche ou référence la clé primaire.

Types de relations

Les relations de table définissent les façons selon lesquelles des lignes de table peuvent être associées à des lignes d’autres tables ou de la même table. Il existe uniquement deux types de relations de table :

  • Relations un-à-plusieurs : dans une relation de table un-à-plusieurs (1 à N), plusieurs lignes de table de référence (liées) peuvent être associées à une seule ligne de table référencée (principale). La ligne de table référencée est parfois appelée le « parent » et les lignes de table de référence sont appelées « enfants ». Une relation plusieurs-à-un est simplement une relation un-à-plusieurs du point de vue d’un enfant.

  • Relations plusieurs-à-plusieurs : dans une relation de table plusieurs-à-plusieurs (N à N), plusieurs lignes de table peuvent être associées à plusieurs lignes de table différentes. Les lignes associées à l’aide d’une relation plusieurs-à-plusieurs peuvent être considérées comme des pairs et la relation est réciproque.

Plusieurs-à-un et un-à-plusieurs

La relation plusieurs-à-un (N à 1) n’est pas fondamentalement différente de la relation un-à-plusieurs : il s’agit seulement d’un point de vue différent. Le type de relations plusieurs-à-un existe dans l’interface utilisateur, car le concepteur vous permet d’afficher et de créer des relations à partir de l’une ou l’autre des tables impliquées dans une relation. Si vous avez une relation un-à-plusieurs entre la table A et la table B, vous pouvez voir une relation un-à-plusieurs sous la table A dans Power Apps Maker Portal et une relation plusieurs-à-un sous la table B. Une relation plusieurs-à-un est simplement une relation un-à-plusieurs vue à partir de la table associée. Il ne s’agit pas d’un autre type de relation, mais simplement d’un autre point de vue.

Colonnes de recherche

Un moyen facile de créer une relation de table consiste à créer une colonne avec le type de données Recherche dans une autre table. La création d’une colonne de recherche entraîne celle d’une relation plusieurs-à-un.

Capture d’écran d’une colonne de recherche.

Il n’y a aucune différence de fonctionnalité pour une relation, qu’elle soit créée à l’aide d’une configuration un-à-plusieurs ou plusieurs-à-un ou d’une colonne de recherche.

Créer des relations de table manuellement

Lorsque vous créez une table, comme nous l’avons découvert précédemment dans ce module d’apprentissage, vous disposez de nombreuses options et de quelques clics de souris pour faire fonctionner Dataverse pour vous. L’écran Tables comporte un lien vers Relations dans le volet Schéma.

Capture de l’écran Tables avec le bouton Relations mis en évidence.

Un clic sur ce lien vous redirige vers une table affichant toutes les relations de votre table. Certaines sont conçues par le système et d’autres par vous. Vous pouvez voir les tables auxquelles votre table actuelle est liée et le type de relation avec ces autres tables.

Notez également en haut de la barre de commandes que le bouton Nouvelle relation vous permet d’en créer une. Ainsi, vous pouvez créer manuellement une relation entre vos tables.

Capture d’écran d’une liste de relations de table dans cette vue avec le bouton Nouvelle relation mis en évidence.

Vous pouvez décider du type de relation que vous souhaitez créer. Dans l’exemple ci-dessous, nous créons une relation un-à-plusieurs avec une table nommée Vétérinaire. Bien que chaque animal de compagnie puisse consulter tout vétérinaire, nous souhaitons que chaque animal de compagnie consulte un vétérinaire régulier. Notez que la création d’une relation ainsi entraîne celle d’une colonne de type Recherche dans la table associée.

Capture d’écran d’une boîte de dialogue Un-à-plusieurs illustrant la table Animaux domestiques liée à la table Vétérinaire et une colonne de recherche nommée Animaux de compagnie affectée à la colonne Vétérinaire.

Après avoir créé cette relation, vous pouvez accéder à la table associée et découvrir la colonne de recherche créée.

Relations plusieurs-à-plusieurs

Avant de poursuivre, discutons brièvement du concept de création de relations plusieurs-à-plusieurs entre des tables dans Dataverse.

N’oubliez pas que les relations un-à-plusieurs comportent une hiérarchie entre les lignes de la relation de table. Les lignes associées au moyen de relations de table plusieurs-à-plusieurs sont considérées comme des pairs.

Remarque

Les relations plusieurs-à-plusieurs ne sont pas prises en charge par les bases de données relationnelles et Dataverse crée une table Intersection masquée pour associer les lignes de table. Cette table Intersection ne comporte aucun formulaire et vous ne pouvez pas modifier ses propriétés ou y ajouter des colonnes.

Vous pouvez créer manuellement une relation plusieurs-à-plusieurs en choisissant les tables associées. Par exemple, si vous aviez une table de toiletteurs et une table d’animaux de compagnie, chaque animal de compagnie pourrait avoir plusieurs toiletteurs et chaque toiletteur pourrait avoir plusieurs clients pour animaux de compagnie. Malheureusement, aucune table Dataverse n’affiche cela, mais simplement une relation. Dans un formulaire, vous pouvez insérer une sous-grille dans laquelle s’affichent les éléments de la table associée et, avec le filtrage, afficher les éléments de la table associée correspondant à votre élément. Cependant, cela dépasse le cadre de cette unité.

Pour en savoir plus, consultez Présentation de la création de relations de table plusieurs-à-plusieurs.