IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

Messages entre utilisateurs


Sujet :

Schéma

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 175
    Points : 18
    Points
    18
    Par défaut Messages entre utilisateurs
    bonjour,
    dans mon application
    j'ai trois tables : utilisateur, admin, operateur
    chacun de ces trois peut envoyer un message a l'autre
    le message peut etre une reponse a un message envoyer par l'autre
    ou bien il peut correspondre a une commande (car l'utilisateur passe des commandes a l'admin et l'admin peut envoyer un message sur cette commande (commande validé, rejeté, en cours de traitement))

    tous ca concerne une application de gestion des requettes d'impression


    mon probleme c'est que je ne suis pas arrivé a determiner est ce que je dois avoir une table message ou bien plusieurs et les attributs qui correspond au sujet et detinaire et comment garder l'historique des messages reponses et ...


    voila a quoi je suis arrivé mais jusqu'a la j'ai des problemes sur cette table et comment gerer ces infos : l'historique des messages envoyés et recus....

    voila l'image de mld :
    http://postimage.org/image/fezebtifp/

    pouvez vous m'aider ou me donner des exemples de cas proches


    merci bien

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Comme dit dans ton autre discussion, tu aurais intérêt à fusionner utilisateur, opérateur et administrateur puisque administrateur et opérateurs ne sont que des types d'utilisateurs.

    Tu aurais aussi intérêt à externaliser grade et division dans des tables de référence, ainsi que l'état d'un message

    Un message est-il envoyé par un utilisateur à un seul autre ou peut-il l'être à plusieurs ?
    Les utilisateurs de même type peuvent-ils s'envoyer des messages entre eux ?

    Je te recommande de reprendre la conception à zéro en commençant par écrire des règles de gestion claires car là j'ai du mal à les deviner au vu de ton schéma. D'ailleurs, il vaut mieux commencer par un MCD, même à la main, avant de passer au diagramme Entity/relationship de MySQL Workbench qui peut laisser faire des erreurs de modélisation quand on n'a pas trop l'habitude de cet exercice.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 175
    Points : 18
    Points
    18
    Par défaut
    voila les regles de gestion :
    - il y a trois profils utilisateur, operateur et admin
    - un utilisateur peut effectuer plusieurs commandes d'impression
    - l'administrateur peut valider ou rejetter la commande, dans les deux cas un message de notification est envoyé au demandeur
    - l'utilisateur peut repondre au message, et peut aussi envoyer un message sans commande et meme l'admin et peut avoir des reponses
    - les demandes validés par l'administrateur (decision = true)seront affiché chez l'operateur qui va modifier l'etat de la commande (en attente, en cours de traitement, terminé, echoué), et un mesage de notification est envoyé a l'administrateur et peut etre envoyé aussi au demandeur (mais rarement)

    - il peut y avoir des messages et des reponses entre l'administrateur et l'operateur mais pas entre l'operateur et le demandeur apart notification (en attente , ...)

  4. #4
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut Vous avez dit Entity-Relationship ?
    Bonjour,


    Citation Envoyé par CinePhil Voir le message
    avant de passer au diagramme Entity/relationship de MySQL Workbench
    Attention, le Modèle Entité-Relation a été concocté par Chen et se situe au niveau conceptuel, MCD, alors que MySQL Workbench est au niveau MLD (voire MPD si on veut pinailler, puisqu’on y parle des index). Du reste, les diagrammes produits avec Workbench ne sont pas du type entity-relationship, mais prétendument « enhanced entity-relationship » (EER), nuance ! tout en ayant omis de prendre en compte la généralisation/spécialisation. C’est encore comme si on prétendait intégrer dans les MCD de Merise le concept de table :



    Et pire, les concepts de clé étrangère, de schéma de rattachement des tables, de trigger, etc. :

    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  5. #5
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    @encours : Tu n'as pas suivi le lien que j'ai donné dans mon précédent message !
    Je parlais des règles de gestion des données telles que je les présente dans mon blog, pas du processus.

    Citation Envoyé par fsmrel
    Attention, le Modèle Entité-Relation a été concocté par Chen et se situe au niveau conceptuel, MCD, alors que MySQL Workbench est au niveau MLD (voire MPD si on veut pinailler, puisqu’on y parle des index). Du reste, les diagrammes produits avec Workbench ne sont pas du type entity-relationship, mais prétendument « enhanced entity-relationship » (EER), nuance !
    Ça fait un bout de temps que je n'ai plus fait de schémas de BDD alors je citais ce E/R de mémoire.

    Pas de confusion dans ma tête. D'ailleurs, je faisais l'analogie du schéma EER de MySQL Workench avec le MLD Merisien ou l'on retrouve des tables contenant des clés étrangères, même si le EER de MySQL Workbench est plus complet puisqu'il inclut aussi les index.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 175
    Points : 18
    Points
    18
    Par défaut
    voila une proposition :



    mais je pense que l'astuce d'une classe role est plus adapté que deux classes similaires operateur et admin
    que pensez vous ?

    et concernant les regles de gestions : je pense que ce que j'ai ecrit est une description du processus et regles de gestion en meme temps :
    par exemple : un utilisateur peut effectuer plusieurs commandes : c'est une regle de gestion.....

  7. #7
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    le EER de MySQL Workbench est plus complet puisqu'il inclut aussi les index.
    Dont acte, l'outil n'est même pas du niveau MLD mais MPD...
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 175
    Points : 18
    Points
    18
    Par défaut
    voila la derniere version que j'ai realisé
    NB : la relation entre message et personne c'est pour que le message est vers un ou plusieurs personnes
    sauf que j'aimerai savoir votre idée sur la table admin et operateur (je craint d'avoir des reproches sur ces deux tables avec les memes attributs)
    et si vous avez d'autres commentaires ou conseils :


  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2012
    Messages : 30
    Points : 52
    Points
    52
    Par défaut
    Bonjour,

    Ton modèle est correct mais as-tu envisagé les cas particuliers ou les évolutions possibles de ton applicatif ?

    J'ai donc deux questions :
    • Le grade d'un employé peut-il donner plus de droits ?
    • Est-il possible que d'autres attributs puissent être ajoutés aux différents profils utilisateurs ?


    Dans le cas des droits, créer une table Roles et une table Droits est possible telles que :
    • Un utilisateur possède 1 ou plusieurs rôles
    • un rôle définit différents droits

    Ce qui ressemble à de l'ACL.

    Dans le cas des attributs, créer une table Attributs et une table ValeurAttribut, telles que:
    • Un attribut a une légende (comme champ)
    • Une valeur d'attribut est rattachée à un attribut
    • Une valeur est rattaché à un utilisateur

    Tu pourras donc facilement ajouter à l'avenir un attribut quelconque à un utilisateur quelque soit ses droits.

    Sinon tu peux rattaché l'attribut à un rôle si tu ne veux pas gérer l'affectation d'un attribut par programmation et donc reprendre la liste précédente, telle que :
    • Un attribut a une légende (comme champ)
    • Un attribut est affecté à un rôle
    • Une valeur d'attribut est rattachée à un attribut
    • Une valeur est rattachée à un utilisateur


    Je parle en connaissance de cause, "notre" hiérarchie ne nous présente jamais les exceptions dans leurs projets mais "nous" reproche souvent de ne pas l'avoir fait Elle aurait tort de s'en priver

Discussions similaires

  1. application d'échanges de messages entre utilisateurs
    Par danieldou dans le forum Android
    Réponses: 0
    Dernier message: 13/05/2014, 10h35
  2. Réponses: 1
    Dernier message: 19/06/2008, 10h32
  3. Envoi de message entre 2 applications
    Par floweez dans le forum Windows
    Réponses: 9
    Dernier message: 30/06/2004, 16h34
  4. message entre dialog box et thread
    Par scorbo dans le forum MFC
    Réponses: 7
    Dernier message: 19/06/2004, 11h01
  5. Réponses: 3
    Dernier message: 06/02/2004, 11h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo