Gérer les relations entre mes tables

Vous êtes dans la partie « Gérer les relations entre mes tables » de notre FAQ. Utiliser le menu ci-contre pour naviguer dans les différentes questions / réponses liées à ce thème.

Si vous ne trouvez pas la réponse à votre question sur ce site, nous vous invitons à nous contacter directement par mail, en utilisant notre formulaire de contact disponible ici.

Comment lier des enregistrements dans FileMaker Pro ?

Comment lier des enregistrements dans FileMaker Pro ?

Retrouvez cette FAQ en vidéo sur notre chaine Youtube

Durée : 7mn (Débutant) + 4mn (Avancé)

Téléchargez le fichier FileMaker Pro de l’exemple

La liaison entre les enregistrements de différentes tables FileMaker Pro est au coeur des SGBDR (Système de Gestion de Base de Données Relationnelles).

Nous allons illustrer la liaison des enregistrements entre tables à partir d’un exemple très simple.

Dans une famille, nous souhaitons suivre les activités extra-scolaires des enfants, ainsi que les notes obtenues à l’école.

Il va nous falloir pour cela 3 tables :

La table « enfants » : Prenom

 La table « ecole » : Prenom, Matiere, Note

 La table « activites » : Prenom, Activite, Date

Nous créerons également un modèle « Famille » qui sera notre modèle principal et qui contiendra les enregistrements de la table enfants.

Saisissons quelques lignes dans chacune des tables, en prenant comme hypothèse 3 enfants : Elsa, Adrien, Tom

Voici à quoi ressemble cet exemple (très simplifié) dans le graph des liens, accessible depuis :

Menu Fichier > Gérer > Base de données puis onglet « Liens » :

A ce stade, nous voulons lier les enregistrements de la table enfants aux tables ecole et activites.

En effet, si nous prenons le cas de Elsa, nous voulons savoir quelles sont les notes qu’elle a obtenues à école, et quelles sont ses prochaines activités à gérer. Pour l’instant, ces informations sont disponibles indépendamment les unes des autres dans les différentes tables (nous avons matérialisé les informations concernant Elsa en les entourant de rouge) :

Pour obtenir le lien entre les différentes tables, nous allons, dans le graph des liens, faire glisser à l’aide de la souris la rubrique Prenom de la table enfants vers la rubrique Prenom de la table ecole, puis vers la rubrique Prenom de la table activites.

Sans rien faire de plus, nos enregistrements sont maintenant liés :

Cependant, en double-cliquant sur le symbole « = » qui relie les tables, nous pouvons gérer des paramètres supplémentaires forts utiles :

 Nous pouvons déjà changer le type de lien entre les 2 tables. Ici, c’est un lien d’égalité qui nous convient, mais nous pourrions par exemple, sur des liens numériques, choisir un lien supérieur à ou inférieur à.

 « Permettre la création d’enregistrements via ce lien » permettrait par exemple d’ajouter une note tout en étant sur un modèle présentant la table enfants (qui ne contient pas cette note).

 « Supprimer les enreg. liés de cette table » est important dans le cadre de la gestion de l’intégrité référentielle. Ainsi, en cochant cette case, si un jour Tom est supprimé de la table enfants, tous les enregistrements concernant Tom dans les tables activites et ecole seront également supprimés

 « Trier les enregistrements » permettra de proposer les données triées par défaut dans le cadre d’un affichage des données dans une table externe.

Maintenant, sur le modèle « Famille« , nous pouvons ajouter non seulement des rubriques de la table enfants, mais également des tables activites et ecole :

Ce qui peut ressembler par exemple à cela :

Dans le cas de liens de type « 1 à 1 » entre les tables, nous en aurions terminé. Un lien « 1 à 1 » signifie qu’à 1 unique enregistrement dans une table correspond un unique enregistrement dans une autre.

Ici c’est une relation « 1 à n » qui existe entre nos tables. C’est-à-dire pour que 1 enregistrement de la table enfants, nous avons un nombre indéterminé d’enregistrements liés dans les tables ecole et activites. En d’autres termes, Elsa par exemple a plusieurs notes à l’école (donc plusieurs enregistrements dans la table ecole) et plusieurs activités.

Pour gérer l’affichage de plusieurs enregistrements, nous allons placer les enregistrements des tables ecole et activites dans tes tables externes.

En mode modèle, les tables externes se trouvent dans le menu Insertion > Table externe

Nous ne détaillerons pas la mise en place de tables externes, biens qu’ici nous ayons juste ajouté une barre de défilement dans l’assitant de création automatique, mais voici que que l’on obtient finalement :

Cette fois ci c’est terminé, vous savez désormais ajouter des liens entre les enregistrements de différentes tables.

Notez la grande simplification de cet exemple :

 Les liaisons devraient être faites sur un identifiant unique (clé unique) et non sur le prénom (étape présentée dans la version vidéo)

 Cet identifiant unique devrait être dans une rubrique qui ne soit ni accessible, ni modifiable par l’utilisateur

 Il faudrait respecter un minimum une convention de nommage du fichier, des rubriques et des tables (voir ici)

Notez aussi que la mise en place d’une table externe automatise la création des clés étrangères (ici le prénom dans les tables ecole et activites si la saisie des données a lieu dans la table externe.

Mots-clés de cette page :

liaison, lien, tables externes, graph de liens
lié, SGBDR, tables liées
A quoi sert une table externe dans FileMaker Pro ?

A quoi sert une table externe dans FileMaker Pro ?

Une table externe permet d’afficher sur un modèle qui présente les enregistrements d’une table A les enregistrements liés d’une table B.

Par exemple sur un modèle (et donc une table) qui affiche des données sur des étudiants (nom, prénom, age…), vous pouvez dans une table externe afficher la liste de leurs notes obtenues dans les différentes matières.

Dans l’exemple ci-dessous, une base de données « Famille » présente sur la fiche de chaque enfant une table externe contenant leurs notes à l’école, et une autre contenant la liste de leurs activités :

Note : L’exemple complet ayant conduit à cet écran est disponible dans la faq :

Comment lier des enregistrements dans FileMaker Pro ?

En mode Modèle, vous pouvez insérer une table externe depuis le menu Insertion > Table externe :

Vous pouvez voir que plusieurs paramètres sont disponibles :

Le tri des enregistrements dans la table externe

 Le filtrage des enregistrements, pour effectuer une sélection parmi tous les enregistrements liés

 L’autorisation ou non de la suppression d’un enregistrement dans la table externe et donc dans la table d’origine

 La mise en place d’une barre de défilement, s’il y a plus d’enregistrements que de rangées affichées

 Le nombre de rangées que vous souhaitez afficher à l’écran

 La possiblité d’alterner le fond de la table externe, ce qui est souvent efficace pour la lisibilité