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
- 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. - Ajoutez un champ Recherche (voir Ajouter un champ à une table) et choisissez la
table référencée (« un ») — par exemple
Account— comme cible. - Sélectionnez Ajouter le champ. Le champ de recherche est créé, et sa relation un-à-plusieurs est créée avec lui.
- 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
- Ajouter un champ à une table.
- Créer une table.
- Ce qui se passe quand vous enregistrez une table.