Modèles de données / Solutions  
       En vacances 
 
1. Quelques erreurs que l'on fait facilement lorsqu'on débute.

- Confondre le modèle et sa légende :
- Les longues chaînes de raisonnements de causalité :
- Le syndrôme de la page blanche
 

2. Le noyau du modèle dans notre Comité d'Entreprise.

Je suppose qu'il est constitué de SALARIES et de CENTRES. Je laisse donc de côté tout ce qui concerne les questions de TEMPORALITE : les moments d'ouverture, le moment où les salariés sont en vacances, les histoires de revenu des familles, etc. Je garde dans un coin de ma tête que je ne sais pas encore bien ce que je vais faire des activités. Mais ça donne cette première idée des choses :
 

- SALARIES possède bien une "existence propre", on sait aussi l'identifier.
Idem pour CENTRES, l'identifiant peut se discuter : faut-il attribuer un code aux Centres (le nom peut-il suffire) ?
Poser la question aux utilisateurs.
Dans les deux cas, il s'agit donc d'entités. Je peux aussi en citer des occurrences : le salarié Dupont, le centre de La Baule ...etc.

- Par contre nous avons un problème pour les activités. EN PREMIERE ANALYSE (i.e. approximation), ce sont des propriétés des centres: Le fait qu'à La Baule on peut faire de la planche à voile, de la pétanque et du surf constitue bien une description du centre de La Baule et il en va de même pour les autres centres. Donc considérer activités comme une propriété de centres est sémantiquement correct. Observer qu'il en va différemment si l'on essaie de mettre activités comme propriété de SALARIES.

- Cependant, activités s'écrit au pluriel dans CENTRES. Cette propriété est donc multivaluée : chaque centre a plusieurs activités. Nous ne respectons pas la règle de Première Forme Normale. Il s'agit donc d'une erreur syntaxique (on ne respecte pas les règles de construction du modèle). Accessoirement, nous serions en train d'organiser de la redondance : la pétanque, on en fait certes à La Baule mais aussi à Marseille et même au Touquet. On répètera donc cette valeur dans chaque occurrence de centre concernée.

- Bilan : vous avez deviné qu'il faut faire une entité pour activités. Ceci pose la question de lui trouver un identifiant adéquat. Il est vraisemblable que dans le système d'information actuel elles ne sont pas codifiées (c'est d'ailleurs en partie à cause de cela que l'on ne sait pas bien faire les statistiques que l'on attend du sauveur "informatique"). Voir la morale de cette histoire.

D'où l'étape suivante suivante :

- On pose une association générale entre ces trois entités  qui indique une possibilité comme : "les salariés se livrent à des activités dans des centres". Reste à la nommer. Pour cela utiliser autant que possible le vocabulaire des utilisateurs (ici celui de l'énoncé qui en tient lieu) : ne jamais oublier que le diagramme doit pouvoir être lu et interprété par les utilisateurs, ce sont eux qui en définitive se prononceront sur sa "verité" sémantique. Ici le verbe FREQUENTER, utilisé dans l'énoncé convient très bien.

- On vérifie, mais seulement après avoir posé en hypothèse le cas général d'une association de dimension 3, s'il n'est pas possible de la décomposer en mettant en évidence des contraintes d'intégrité fonctionnelles.
1. Le couple SALARIES*CENTRES : pour 1 salarié il peut aller dans plusieurs centres ; pour 1 centre, il reçoit plusieurs salariés. On ne peut pas simplifier.
2. Le couple CENTRES*ACTIVITES : pour 1 centre, plusieurs activités ; pour 1 activité, plusieurs centres. Idem.
3. Le couple ACTIVITES*SALARIES : pour 1 activité, plusieurs salariés ; pour 1 salarié, plusieurs activités. Idem
Conclusion : cette association est indécomposable. Elle doit rester de dimension 3 et on peut maintenant mettre en évidence pourquoi les longues chaînes de causalité peuvent conduire à une solution à la fois particulière et insuffisante.

- On calcule immédiatement les cardinalités.
Attention ! Ne pas confondre ce calcul avec le raisonnement précédent qui a essayé de regarder s'il y avait des contraintes d'intégrité fonctionnelles : il prenait les entités 2 à 2. Maintenant on regarde pour une occurrence de cette entité, combien il peut y avoir d'occurrences de l'association. Si c'est pas clair, reprendre le cours.

Et on obtient finalement notre fameux noyau :
 
 
 
 


Auteur : Bernard Morand  Entité-Association Date de dernière mise à jour : 1/12/1998