[analise] conception du MCD - gestion de creation utilisateur

Bonjour,

Je cherche a debuter par un MCD pour le sujet suivant

Un technicien créer des utilisateurs, pour cela il doit faire certaine taches. les utilisateurs appartiennent à un serviuce.

J’ai donc comme entité:

  • TECHNICIEN
  • UTILISATEUR
  • SERVICE
  • TACHE

et je bloque

comment faire pour avoir en gros un listing des tache concernant un utilisateur qui ont ou non été réalisés?
Sachant que tache doit etre une table a part entiere vu qu’elle contiendra un nom et un lien vers le tutorial correspondant.

Si vous avez une idée

Avant de chercher les tables, il faut définir les associations de ton MCD:
as-tu 1 ou n taches pour 1 utlisateur, 1 ou n utilisateur pour 1 tâche.
de même on ne comprend pas bien si les technicien sont associés ou non aux taches.

il est clair qu’entre utilisateur et Service c’est un lien 1-n (un service pour n utilisateur)

dans ton MPD, pour le lien 1-n entre service et utilisateur, tu aura la clef du service dans la table utilisateur poru faire ce lien.

pour un lien éventuel n-n entre taches et utilisateur, tu aura une table d’association tache_utilisateur contenant uniquement la clef tache et la clef utilisateur (des id ou des no).

quand tu crée une tache: tu crée une entrée dans la table tache, et quand tu rattache la tache à un utilisateur, alors tu rajoute un élément dans la table d’association.

j’ai pas parler de cradinalité expret car je ne sais pas trop si tache doit etre une association ou une entité

un technicien peut créer 1 ou plusieur utilisateurs (1-N)
un utilisateur peut etre créer par 1 ou plusieur technicien (1-N)
une tache peut etre realisé par 1 seul technicien (1-1)
un technicien peut realisé plusieur taches (1-N)
pour le service ta tout compris!!!!

Si non en faisant ses cardinalité la sa pose un probleme entre technicien et utilisateur 1-N de chaque coté ou m’a toujours dit que c t pas bon!!

donc je bloque

demin je fairai une tite esquisse du MCD que l’on corrigera enssemble si tu veux bien, ce sera plus comprehenssible pour toi comme pour moi

bonne soirée

Je reviens vers vous avec le MCD.

Comme ça ca ne peut pas marcher ? Je ne peut pas afficher les taches qui ont été realisé ou a réalisé pour un utilisateur?

et j’ai ce probleme de cardinalité entre technicien et utilisateur!!! 1-n 1-n

quest2: Euh, alors tu as oublié de préciser que les tâches sont associées à un utilisateur, au quel cas tu dois rajouter un lien 1-n entre utilisateurs et tâches.

quest3: une liaison 1-n 1-n entraine la création d’une table entre technicien et utlisateur et qui aura sa clé primaire ainsi que 2 clés étrangères qui seront les clés primaires de techniciens et utilisateurs.

Petite note de forme, je ne précise pas 1 à n ou 0 à n, mais uniquement “n” puisque le modèle physique ne se soucie pas du nombre mini d’éléments.

donc par lien n-n j’entend de n éléments vers n éléments (càd de 0 à n vers 0 à n): et ce n’est pas un problème de cardinalité !! simplement, dans un modèle bien construit (normalisé) les liens 1-n ne doivent pas être construits comme des n-n, c’est une erreur de conception et en plus, ce n’est pas optimal, mais dans le cas d’un vrai lien n-n, c’est nécessaire et parfaitement correct.

fermons la parenthèse: si par “tâche” tu entend “création d’utilisateur”, alors il manque effectivement le lien tâche-utilisateur.

enfin, pour faire ce lien n-n, c’est comme jeanguy a dit :wink: ça se passe au moment ou tu passe au modèle Physique (par le modèle logique…)

note que si j’a bien compris, la tâche est en relation 1-n avec les utilisateurs d’un côte, avec les techniciens de l’autre, du coup par “normalisation” (suppression des doublons quoi) ce lien utilisateur-technicien doit disparaître, puisque tu l’obtient par l’intermédiaire des liens successifs technicien-tâche-utilisateur;)

essaye de nous refaire le modèle avec ce lien, et je crois qu’il y a un problème de cardinalité entre tâche et technicien d’après ton énoncé.

cf. normalisation:
http://fr.wikipedia.org/wiki/Forme_normale…lationnelles%29
( grosse parenthèse
note aussi que tous ces problème de normalisation sont complexes à aborder sur un modèle non-normalisé, alors que c’est très simple de faire un modèle déjà normalisé en pensant à quelques règles: ne pas dupliquer l’information=> decouper les données en tables (forme normales de 1er niveau) éliminer le nombre de table et d’association redondantes (formes de niveaux suivants)

/ fin de la grosse parenthèse)
:slight_smile: