Aller au contenu principal

Créer une relation entre des tables

Objectif​

Créer une relation un-à-plusieurs entre deux tables — par exemple, un compte a plusieurs factures.

En bref : ajoutez un champ de recherche​

Un champ de recherche est une relation. Vous créez une relation un-à-plusieurs simplement en ajoutant un champ de recherche à la table « plusieurs » qui pointe vers la table « un » — la plateforme crée automatiquement la relation correspondante, dans la même étape. Il n’y a pas d’action « créer une relation » distincte à effectuer.

Prérequis​

  • Vous êtes connecté avec un rôle de créateur (ou d’administrateur de la plateforme).
  • Les deux tables existent dans l’environnement (la table « un » référencée et la table « plusieurs » qui la référence).

Étapes​

  1. Ouvrez Tables, choisissez l’environnement et sélectionnez la table qui référence (« plusieurs ») — par exemple Invoice — pour l’ouvrir sur l’onglet Champs.
  2. Ajoutez un champ Recherche (voir Ajouter un champ à une table) et choisissez la table référencée (« un ») — par exemple Account — comme cible.
  3. Sélectionnez Ajouter le champ. Le champ de recherche est créé, et sa relation un-à-plusieurs est créée avec lui.
  4. Ouvrez Relations pour vérifier que la nouvelle relation y figure. Son nom est généré automatiquement à partir de la table et du champ (par exemple par_invoice_par_account).

Ce qui se passe en coulisses​

Une relation est une métadonnée qui décrit comment deux tables sont liées ; elle est définie sur le champ de recherche, si bien qu’aucune nouvelle colonne n’est créée pour la relation elle-même. Créer le champ de recherche crée la relation dans la même opération, et supprimer le champ de recherche supprime la relation — les deux vont toujours ensemble. Le champ de recherche est une vraie référence (clé étrangère) vers la table de données de la table référencée dès qu’il est ajouté.

Dépannage​

  • La relation n’est pas apparue. — vérifiez que vous avez ajouté un champ Recherche (et non d’un autre type) et choisi une table cible ; la relation n’est créée que pour un champ de recherche.
  • « The lookup target entity … was not found. » — créez d’abord la table cible (« un »), puis ajoutez le champ de recherche sur la table qui la référence (« plusieurs »).
  • Je veux un nom de relation précis. — les noms de relation sont générés par la plateforme à partir des noms de la table et du champ, et ne se saisissent pas à la main, de la même façon que les valeurs d’un groupe d’options sont attribuées pour vous.

Scénarios associés​