↔️Liaison synchronisée

Vous avez la possibilité de synchroniser une liaison, simple ou multiple, avec une autre liaison, simple ou multiple.

Cette synchronisation signifie que tout ajout, modification ou suppression d’enregistrements effectués dans une première liaison se retrouvera forcément dans la deuxième et inversement.

L'objectif d'une synchronisation est double :

  • Dans un premier temps, faire concorder deux liaisons ensembles et corriger toute erreur de logique,

  • Ensuite, maintenir cette cohérence et d’empêcher toute autre erreur.

Une liaison ne peut être synchronisée qu’avec une seule autre liaison. Il n’est pas possible d’avoir trois liaisons synchronisées ensembles. Il n’est également pas possible de synchroniser une liaison utilisateur ou un groupe avec un autre type de liaison.

Voici les étapes à suivre pour synchroniser une liaison :

1️⃣ Ouvrir les paramètres de la liaison que vous désirez synchroniser.

2️⃣ Cliquer sur le bouton “Synchroniser la liaison”. Une pop-up s’ouvre.

3️⃣ Sélectionner la liaison à synchroniser avec votre liaison.

Vous ne pouvez synchroniser votre liaison qu’avec une liaison de la table vers laquelle votre liaison pointe.

4️⃣ En cas de synchronisation d’une liaison simple vers une autre liaison simple, sélectionner la liaison à préserver.

5️⃣ Une explication apparaît, détaillée plus bas dans cette documentation. Une fois lue, appuyer sur le bouton Synchronisation.

6️⃣ Vos liaisons sont synchronisées !

Lisez bien les différents cas d’usages de la synchronisation et assurez vous de les comprendre avant de tenter une synchronisation sur vos propres données. Vous pourriez les modifier sans possibilités de revenir en arrière.

Et si vous êtes plus visuel, une vidéo sur le sujet existe sur notre chaîne 👉

🔗🔗 ↔ 🔗🔗 Liaison Multiple avec une Liaison Multiple

Entre deux liaisons multiples, la synchronisation cherche à maximiser le nombre d'enregistrements liés.

Autrement dit, lors de la synchronisation, chaque enregistrement conserve tous les enregistrements liés qui étaient déjà présents dans la liaison.

De plus, la synchronisation ajoute à la liaison tous les enregistrements liés qui pointaient vers l'enregistrement en question.

Considérons les deux tables ci-dessous : Entreprise et Pays. Une Entreprise peut être située dans plusieurs Pays et un Pays peut comporter plusieurs Entreprises. Cette relation est rendu possible par les deux liaisons multiples ci-dessous.

Synchroniser la liaison multiples Pays avec la liaison multiples Entreprise reviendra à faire pointer le plus d’Entreprises vers le plus de Pays et inversement.

Dans la table Entreprise, la synchronisation ajoute donc une liaison de Ksaar et Lilo vers l’Allemagne, pour correspondre à la table Pays.

Dans la table Pays, elle ajoute une liaison de le France vers Lilo et Patagonia et de l’Allemagne vers Patagonia, pour correspondre à la table Entreprise.

Aucune donnée n’est supprimée mais chaque liaison est enrichie.

🔗 ↔️ 🔗🔗 Liaison Multiple avec une Liaison Simple et inversement

Entre une liaison simple et une liaison multiple, la synchronisation privilégie la liaison simple.

Autrement dit, lors de la synchronisation, chaque enregistrement de la table contenant la liaison multiple, conserve et ajoute tous les enregistrements dont la liaison simple pointaient vers lui.

De plus, la synchronisation supprime de la liaison multiples tous les enregistrement dont la liaison simple ne pointaient pas vers l'enregistrement en question.

Considérons à nouveau nos deux tables, Entreprise et Pays, visiblent ci-dessous. Une Entreprise ne peut être située que dans un seul Pays mais un Pays peut comporter plusieurs Entreprises.

Cette relation est rendue possible, dans la table Entreprise, par une liaison simple pointant vers la table Pays. Et dans la table Pays, une liaison multiples pointant vers des entreprises.

Synchroniser la liaison simple Pays avec la liaison multiples Entreprise reviendra à faire pointer les enregistrements des Pays vers des Entreprises exactement de la même façon que ceux des Entreprises pointent vers des Pays.

Avant synchronisation, considérons que la liaison simple de Ksaar pointe vers la France, alors que deux pays, la France et des Pays-Bas, pointent vers Ksaar dans leur liaison multiple.

Après la synchronisation, Ksaar est conservé dans la liaison multiple de la France, mais est retiré de celle des Pays-Bas, étant donné que sa liaison simple ne pointait pas vers les Pays-Bas.

De manière similaire, dans la table Pays, la synchronisation fera pointer l’Allemagne vers Ecosia, la France vers Lilo et supprimera Patagonia de la France afin de correspondre complètement à la table Entreprise.

La liaison multiple peut conserver, perdre ou gagner des enregistrements. La liaison simple est inchangée.

🔗 ↔️ 🔗 Liaison Simple avec une Liaison Simple

Entre deux liaisons simples, la liaison non préservée sera modifiée afin de correspondre au contenu de la liaison préservée.

Autrement dit, lors de la synchronisation, chaque enregistrement de la table contenant la liaison non préservée, conserve et ajoute tous les enregistrements dont la liaison préservée pointaient vers lui. Les enregistrements ne correspondant pas à la liaison préservée sont supprimée de la liaison non préservée

Les valeurs de la liaison "Liaison simple" ne seront pas modifiées, sauf dans un cas spécifique : si plusieurs enregistrements ont la même valeur. Dans ce cas, le dernier enregistrement modifié, et ce quelle que soit la modification, conserve sa valeur, la liaison de tous les autres sera alors vidée.

Considérons cette fois-ci une table Capitale et une table Pays; et considérons que la liaison simple pointant du Pays vers Capitale soit définie comme la liaison à préserver.

Avant synchronisation, on peut voir ici que les Etats-Unis pointe vers Washington, alors que Washington pointe vers l'Allemagne.

Après synchronisation, les Etats-Unis et Washington seront liés dans les deux tables, la liaison à préserver étant celle dans le sens Pays vers Capitale.

De la même manière, aucune enregistrement ne pointant vers Londres dans la table Pays, les Etats-Unis seront supprimés de la liaison dans la table Capitale.

Considérons un dernier cas, plus spécifique : dans la table Pays, la France et les Pays-Bas pointent tous les deux vers Paris. Dans la table Capitale, Paris pointe vers les Pays-Bas.

Après synchronisation, Paris et la France seront liés dans les deux tables. Il n'y aura plus de lien entre Paris et les Pays-Bas. En effet, dans la table Pays, la France est le dernier enregistrement modifié. Par conséquent, lors de la synchronisation, la liaison entre les Pays-Bas et Paris est supprimée en faveur de la liaison avec la France.

Vous avez le choix de la liaison que vous souhaitez préserver de tout changement. Elle ne sera modifiée que si plusieurs enregistrements ont la même valeur.

🚧 Exemple

1️⃣ Situation initiale

Prenons l’exemple du niveau 6ème d’un collège, qui comporte 3 classes. Chacune de ces classes possède une vingtaine d’élèves et un certain nombre d’enseignants. Chaque classe a également un professeur principal.

Pour représenter ce collège, nous avons donc trois tables, visibles ci-dessous :

  • La table Classe, avec leur nom, leur liste d’élèves, leurs professeurs enseignants et leur professeur principal.

  • La table Enseignant, avec leur nom, leur prénom, leur matière enseignée, leurs classes enseignées et éventuellement leur classe encadrée.

  • La table Élève, avec leur nom, leur prénom et leur classe.

Pour représenter les relations entre ces tables, les liaisons ci-dessous ont été crées :

  • Dans la table Élève :

    • une Liaison Simple “Classe de l’élève”, liée à la table Classe.

  • Dans la table Classe :

    • une Liaison Multiples “Élèves de la classe”, liée à la table Élève,

    • une Liaison Multiples “Professeurs Enseignants”, liée à la table Enseignant,

    • une Liaison Simple “Professeur Principal”, liée à la table Enseignant.

  • Dans la table Enseignant :

    • une Liaison Multiples “Classes enseignées”, liée à la table Classe,

    • une Liaison Simple “Classe encadrée”, liée à la table Classe.

Des incohérences se sont glissées dans chacune des ces liaisons. La synchronisation va nous permettre de les corriger mais également d’empêcher que d’autres se produisent.

Par exemple, dans la table Enseignant, Sophie Dupont est désignée comme encadrante de la 6ème A.

Or, dans la table Classe, la professeure principale de la 6ème A est Ana Garcia.

Commençons par synchroniser ces deux liaisons.

2️⃣ Synchronisation des liaisons

Pour simplifier nos liaisons, nous aimerions donc avoir 3 groupes de liaisons synchronisées :

  • La Liaison Simple “Professeur Principal” de la table Classe avec la Liaison Simple “Classe encadrée” de la table Enseignant.

  • La Liaison Simple “Classe de l’élève” de la table Élève avec la Liaison Multiples “Élèves de la classe” de la table Classe,

  • La Liaison Multiples “Professeurs Enseignants” de la table Classe avec la Liaison Multiples “Classes enseignées” de la table Enseignant,

Commençons par corriger l’incohérence entre Sophie Dupont, Ana Garcia et la 6ème A.

Cas 1 : Liaison Simple vers Simple

Comme vue précédemment, dans le cas d’une synchronisation entre deux liaisons simples, une des liaisons doit être définie comme liaison à préserver. Dans cette situation, nous aimerions conserver la liaison simple “Classe encadrée”, de la table Enseignant.

Voici, pour rappel, la situation avant synchronisation :

La liaison depuis laquelle le bouton “Synchronisation” est cliqué n’a aucun impact sur la synchronisation finale. Il faut simplement s'assurer de synchroniser avec la bonne liaison.

Après synchronisation, la Liaison “Professeur Principal” a donc été modifiée en accord avec la liaison “Classe encadrée” : Sophie Dupont est bien professeure principale de la 6ème A dans les deux tables.

De la même manière, Ana Garcia est maintenant responsable de la 6ème B. Camille Laurent n’a pas été modifié car il n’y avait pas d’incohérence avant synchronisation.

Dans la table Enseignant, Marie Dubois n’est plus associée à la 6ème A car sa date de modification est antérieure à celle de Sophie Dupont.

Pour rappel, la liaison à préserver n’est modifiée que si plusieurs enregistrements ont la même valeur. Dans ce cas, l’enregistrement modifié le plus récemment est conservé au détriment de l’autre.

Cas 2 : Liaison Simple et Multiples

Synchronisons maintenant les élèves avec leur classe.

Pour rappel, voici la situation des tables Élève et Classe avant synchronisation :

Certains élèves sont marqués comme dans deux classes différentes entre la table Classe et la table Élève. Par exemple, Murdie Dal est en 6ème A selon la table Classe et en 6ème C selon la table Élève. Jeremiah Quibell, lui, est en 6ème B et C selon la table Classe, mais également en 6ème A selon la table Élève.

Synchronisons les liaisons pour résoudre ce problème.

Pour rappel, entre une liaison simple et une liaison multiple, la liaison simple prévaut et la liaison multiple est modifiée en accord avec elle.

Après synchronisation, la liaison simple “Classe de l’élève” dans la table Élève a été préservée. En revanche, la liaison multiple “Élèves de la classe” a été modifié pour lui correspondre.

On observe trois types de synchronisations d’enregistrements :

  • le changement de liaison : comme Murdie Dal, passé de 6ème A à 6ème C, ou Fley Lilla, passé de 6ème A à 6ème B.

  • le passage de plusieurs liaisons à une seule : Jeremiah Quibell était assigné en 6ème B et en 6ème C dans la table Classe avant synchronisation. Il est maintenant assigné en 6ème A pour correspondre à la liaison “Classe de l’élève”.

  • la liaison conservée : Borwick Mirna est toujours en 6ème B car il n’y avait pas d’incohérence avant synchronisation.

Cas 3 : Liaison Multiple vers Multiple

Enfin, nous souhaitons synchroniser les Professeurs Enseignants dans les Classes avec les Classes Enseignées par les Enseignants.

Voici la situation des tables Classe et Enseignant avant synchronisation :

Ici, on voit que toutes les classes n’ont pas forcément un professeur de chaque matière. Par exemple, dans la table Classe, Marc Martin n’enseigne pas à la 6ème B et donc cette dernière se retrouve sans professeur de Langues. La synchronisation devrait nous permettre de résoudre ce problème.

Pour rappel, dans le cas d’une synchronisation entre deux liaisons multiples, aucune liaison n’est supprimée, un maximum de liaisons est ajouté.

Après synchronisation, toutes les liaisons de la table Classe ont été ajoutées à la table Enseignant et inversement.

Sophie Dupont, dans la table Élève, devient professeur de Sport des 6ème A, B et C. On retrouve donc bien son nom dans chacune des trois 6ème de la table Classe

Le principe est le même pour chacun des autres enseignants

3️⃣ Maintien de la cohérence

La synchronisation ne sert pas simplement à régler les problèmes de cohérences entre des liaisons, mais surtout à garder cette cohérence par la suite.

Admettons que Marc Martin devienne Professeur Principal de la 6ème A.

Grâce à la synchronisation, ce changement peut être représenter simplement avec une seule action. On peut choisir :

  • soit de modifier la table Classe en assignant Marc Martin en tant que Professeur Principal de la 6ème A,

  • soit de modifier la table Enseignant en assignant la 6ème A à Marc Marti

Avant synchronisation, pour éviter toute incohérence, il aurait fallu modifier la classe encadrée de Marc Martin sur 6ème A, tout en supprimant la 6ème A de celle de Sophie Dupont.

De la même manière, il aurait fallu changer le Professeur Principal de la 6ème A dans la table Classe de Sophie Dupont à Marc Martin.

Torey Kolin procède à un changement de classe et passe de la 6ème A à la 6ème B.

Pour représenter ce changement, on peut décider :

  • soit d’ajouter Torey Kolin à la 6ème B dans la table Classe

  • soit de modifier la classe de Torey Kolin de 6ème A à 6ème B dans la table Élève

Avant synchronisation, pour éviter toute incohérence, il aurait fallu :

  1. Enlever Torey Kolin de la 6ème A dans la table Classe,

  2. L’ajouter à la 6ème B, toujours dans la table Classe,

  3. Modifier la table Élève en passant la classe de Torey Kolin de 6ème A à 6ème B.

Enfin, Bénedicte Duchêne devient la nouvelle professeure de musique de toutes les classes de 6ème du collège. Pour représenter cette arrivée, deux actions sont possible :

  • soit d’ajouter les 6ème A, B et C à la liaison multiple de l’enregistrement de Bénedicte Duchêne dans la table Enseignant,

  • soit d’ajouter Bénedicte Duchêne à la liaison multiple de chacune des trois classes de la table Classe

Avant synchronisation, pour éviter toute incohérence, ces deux actions auraient été nécessaires.

Dernière mise à jour