Établir des relations entre les enregistrements d’une table et des enregistrements liés
Dans ce guide, vous apprendrez
- Ce que sont les enregistrements de tables liés
- Les précautions à prendre concernant les performances des enregistrements liés
- Comment lier des enregistrements de table
Présentation
Les tables Tulip sont utilisées pour gérer une grande variété de données, notamment les ordres de travail, la matrice des compétences, les nomenclatures et bien d’autres encore. Il existe souvent une relation définissable entre deux tables (par exemple : données d’assemblage et de sous-assemblage, planning des équipes et informations sur les opérateurs).
Les enregistrements liés vous permettent de définir, de gérer et de visualiser ces relations entre différentes tables.
Cas d'utilisation
1. Afficher des données de référence (provenant d’un tableau secondaire) dans un tableau interactif * Permet d’afficher des informations de données de base sans avoir à dupliquer les colonnes * À utiliser uniquement pour les informations clés

2. Créer des enregistrements / données de généalogie * Le filtrage des vues pour les données de généalogie est plus facile avec les enregistrements liés * Il est recommandé de conserver l’ID parent en tant que colonne pour les requêtes/agrégations (voir les limitations)
3. Facilité de filtrage des tableaux interactifs à l’aide du filtre « est dans »

Attention aux performances des enregistrements liés
While linked records provide the ability to relate tables to one another, Tulip has seen significant performance issues when this feature is used at large scale (i.e. several linked record columns in a Table, several hundred thousand records in a table).
Limitations
Il est important de noter que les enregistrements liés présentent certaines limitations avec les fonctionnalités Tulip suivantes :
Performances* La présence d’un grand nombre de colonnes d’enregistrements liés dans un tableau peut entraîner des problèmes de performances* Leur gestion peut s’avérer plus complexe en raison de l’impossibilité d’effectuer des importations et du format requis pour l’API
Déclencheurs d’application
- Impossible de charger directement un enregistrement pour les relations 1:1
- Tous les champs des enregistrements liés sont des tableaux de chaînes de caractères, même dans le cas d’une relation 1:1
- Aucun message d'erreur n'apparaît si l'enregistrement est déjà lié
Importation/exportation
- Impossible d'importer des enregistrements liés via l'importation CSV
- L'exportation CSV transforme chaque champ d'enregistrement lié en tableau de chaînes de caractères
Requêtes et agrégations sur les tables
- Aucune agrégation possible sur les champs liés
- Aucun filtrage n'est possible sur un champ lié
Analyses* Les analyses ne peuvent porter que sur une seule table à la fois. Vous ne pouvez pas utiliser les enregistrements liés pour analyser simultanément les données de plusieurs tables.
Limitations de l’expérience utilisateur
Une fois qu’une relation entre enregistrements liés a été créée, le seul moyen de voir le type de relation (un-à-un, un-à-plusieurs, etc.) est d’accéder à la « vue carte d’enregistrement » (interface utilisateur de la page Tableaux lorsque vous cliquez sur un enregistrement de tableau ou que vous modifiez le nom d’une colonne de tableau).
Autres approches pour les enregistrements liés
Voici des architectures recommandées pour les cas où vous ne souhaitez pas utiliser d’enregistrements liés.
Relations « un-à-un » ou « un-à-plusieurs »
Vous pouvez « lier » des tables en stockant l’ID sous forme d’enregistrement dans la table.
Exemple
Dans une table « Défauts », plutôt que de lier les défauts à une table « Ordres de travail », créez une colonne « ID de l'ordre de travail » dans la table « Défauts » et stockez une ou plusieurs valeurs dans chaque ligne sous forme de liste séparée par des virgules
Relations « plusieurs à plusieurs »
Vous pouvez stocker un tableau de chaînes de caractères dans un champ de la table contenant le lien vers les informations.
Exemple
Plutôt que de relier un ensemble de références de pièces nécessitant une série de contrôles de qualité, stockez un tableau d’identifiants correspondant aux contrôles requis dans chaque enregistrement de pièce
Étapes 1. Créez un tableau dans la logique de l’application pour les liens nécessaires
- Convertissez le tableau en chaîne de caractères et stockez-le dans un champ de la table
- Reconvertissez la chaîne de caractères en tableau si vous devez utiliser ces données dans des filtres, dans la logique de l’application pour toute logique ultérieure ou pour établir des liens.
Lier des enregistrements de table
Pour lier deux enregistrements de table entre eux, vous devez ajouter une nouvelle colonne afin d’établir et de définir la relation. Il est important de noter que vous ne pouvez pas lier des colonnes existantes dans une table Tulip.
Les enregistrements de table sont liés via l'ID de l'enregistrement.
Lorsque vous ajoutez une colonne d’enregistrement lié à une table, vous serez invité à définir la relation entre les deux tables. Lors de la création, une nouvelle colonne sera également créée automatiquement dans la table liée, ce qui vous laissera une colonne dans chacune de vos tables liées. Ces colonnes seront renseignées avec l’ID de chaque enregistrement de table.
Pour ajouter un enregistrement lié à une table, ajoutez une nouvelle colonne dans l’une des tables que vous souhaitez lier, puis sélectionnez « Type de champ : Enregistrement lié ».
Une fenêtre modale s’affichera avec les options suivantes :

- Libellé: définissez le libellé de la colonne dans la table sur laquelle vous travaillez actuellement
- Lien vers > Table: sélectionnez la table à laquelle vous souhaitez lier votre enregistrement
- Lien vers > Libellé du champ: définissez le libellé de la colonne qui sera renseignée dans votre table liée
- Type de lien: définissez le type de relation entre les enregistrements des tables. Si vous ne savez pas quel type de relation convient le mieux à vos données, consultez cet article.
Once you save the column, the link type can not be edited.
Exemple
Dans l'exemple suivant, il existe deux tables :* Table « Assemblage »* Table « Pièces ».
Chaque assemblage est composé de plusieurs pièces.


Dans le tableau « Assemblages », nous allons ajouter une nouvelle colonne pour établir la relation entre les deux tableaux. Ici, le type de relation est « plusieurs-à-plusieurs ». En effet, plusieurs pièces peuvent être utilisées dans plusieurs assemblages différents, et inversement.

Une fois la colonne enregistrée, les colonnes suivantes sont générées dans chaque tableau :

À ce stade, seule la structure de la relation entre les tables a été définie. Il est maintenant temps d’associer chaque enregistrement de table à son enregistrement lié spécifique.
Pour ce faire, cliquez sur un enregistrement de la table. La fenêtre modale suivante s'affichera :

Dans la barre de recherche, vous pourrez sélectionner le ou les ID des enregistrements de table que vous souhaitez lier. Comme mentionné ci-dessus, la relation entre les enregistrements de table liés est définie par le ou les ID de ces enregistrements.
Vous pouvez voir ci-dessous à quoi ressemblent les tables une fois chaque enregistrement lié :

Pour en savoir plus
{{snippet.Avez-vous trouvé ce que vous cherchiez ?}}
