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

Merise Discussion :

Conception d'un MCD pour la gestion des projets


Sujet :

Merise

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 2
    Points
    2
    Par défaut Conception d'un MCD pour la gestion des projets
    Bonjour à tous
    ************

    Je viens de créer une base de données pour la gestion des projets d'une entreprise, mai j'ai trouvé des difficultés à l'élaboration du MCD

    premièrement j'ai élaboré un MCD pour juste 5 tables
    Nom : 1.PNG
Affichages : 27092
Taille : 47,4 Ko


    mais je vois un nécessité d'ajouter la table projet que je veux être comme jointure de toutes les tables, pour que l'utilisateur de la base de données après communique seulement avec la table projet, pour la remplir par des données déjà enregistrées dans les autres tables

    et voici donc mon nouveau MCD

    Nom : 2.PNG
Affichages : 24153
Taille : 70,1 Ko


    comme vous remarquez il y'a une repetition de l'association contient et consomme nommées contient2 et consomme2 car j'ai le doute de les laisser ou de les supprimer


    donc j'ai deux questions
    *******************

    1)est ce que l'association 4_aire est correcte?
    2)est ce que je dois supprimer les associations contient2 et consomme2?

    s'il vous plaît aidez moi !!!!

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 965
    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 : 7 965
    Points : 30 777
    Points
    30 777
    Billets dans le blog
    16
    Par défaut
    Bonsoir abderazaqtr,


    1) On ne pourra donner un avis qu’à condition que vous fournissiez les règles de gestion des données.

    2) Puisque vous réalisez un MCD, il faut que vous utilisiez le vocabulaire qui convient : EMPLOYE, SITE, etc. ne sont pas des tables, mais des types d’entités (on dit aussi entités-types).


    Citation Envoyé par abderazaqtr Voir le message
    je vois un nécessité d'ajouter la table projet que je veux être comme jointure de toutes les tables, pour que l'utilisateur de la base de données après communique seulement avec la table projet, pour la remplir par des données déjà enregistrées dans les autres tables.
    Vous êtes déjà dans le « comment », alors qu’à cette étape de votre travail, vous devez vous concentrer sur le « quoi ».


    En attendant, si dans votre 1re représentation graphique on essaie d’interpréter l’association ternaire INTERVIENT, on peut inférer un certain nombre de règles de gestion dont la pertinence est à démontrer :

    (R1) Dans le cadre d’une mission donnée, un employé donné peut intervenir simultanément sur plusieurs sites (en l’occurrence, l’attribut Date porté par l’association n’a aucune influence).

    (R2) Sur un site donné, un employé donné peut intervenir simultanément dans le cadre de plusieurs missions (en l’occurrence, l’attribut Date porté par l’association n’a aucune influence).

    (R3) Dans le cadre d’une mission donnée, sur un site donné, peuvent intervenir simultanément plusieurs employés (en l’occurrence, l’attribut Date porté par l’association n’a aucune influence).


    Comme dit l’autre, ce qui se conçoit bien s’énonce clairement et les choses pour le dire viennent aisément : merci de définir chaque entité-type, son rôle, même chose pour chaque association, normalement inférée des règles de gestion que vous allez présenter.


    Quand tout aura été mis à plat, on pourra répondre à vos questions de façon pertinente.
    (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.

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Merci infiniment fsmrel
    *********************

    enfin je commence à comprendre

    on discute d'abord la première représentation graphique


    (R1) Dans le cadre d’une mission donnée, un employé donné peut intervenir simultanément sur plusieurs sites (en l’occurrence, l’attribut Date porté par l’association n’a aucune influence).
    vraiment cette citation n'est pas vraie, mais:





    (R2) Sur un site donné, un employé donné peut intervenir simultanément dans le cadre de plusieurs missions


    (R3) Dans le cadre d’une mission donnée, sur un site donné, peuvent intervenir simultanément plusieurs employés
    oui ces deux dernières citations sont vraies.

    J'ajoute que :

    2)pour une date donnée, un employe(ou plusieurs) peut executer plusieurs missions.



    J'arrive enfin à élaborer un MCD mais je sent qu'il manque une date dans les deux associations Execute et Se_deroule.

    j'ai supprimé le type_entité projet pour le moment.
    Nom : 3.PNG
Affichages : 14248
Taille : 53,8 Ko

    aidez moi mes amis s'il vous plaît !!!!
    ****************************

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 793
    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 793
    Points : 34 024
    Points
    34 024
    Billets dans le blog
    14
    Par défaut
    je sent qu'il manque une date dans les deux associations Execute et Se_deroule.
    La date de l'intervention n'est-elle pas suffisante ?
    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 !

  5. #5
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 965
    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 : 7 965
    Points : 30 777
    Points
    30 777
    Billets dans le blog
    16
    Par défaut
    Bonjour,


    Du fait que dans le cadre d’une mission un employé ne peut intervenir que sur un seul site, la ternaire a explosé, c’est déjà un signe.


    Avant de poursuivre, il est un point qu’il faut éclairer :

    Qu’est-ce exactement qu’une mission dans le cadre de votre propre projet ? Qu'est-ce qu'une intervention ?

    A titre d'exemple, quand je faisais partie d’une société de services, j’effectuais des missions, mais celles-ci avaient une certaine durée, allant d'une semaine à cinq ans selon la nature de la mission, par exemple effectuer un audit de l’informatique d’une entreprise, modéliser son système d’information, le mettre en production, en assurer le suivi... J’effectuais aussi des interventions, mais cela ressemblait plus à du conseil ou dépannage très ponctuel, « flash », disons de l’ordre de la journée : ramener à une seconde le temps d’exécution d’une transaction durant une heure... Ces interventions avaient lieu en dehors de mes missions. Il arrivait qu'une intervention donne ensuite lieu à une mission, mais cela faisait forcément l'objet d'un un autre contrat.

    Bref, pourriez-vous préciser ce que vous entendez par mission et intervention ? Donnez des exemples.


    Dans le même sens, qu’est-ce qu’un site ? Un site se situe-t-il dans l’entreprise de l’employé ? Chez un des clients de l’entreprise de l’employé ?
    (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.

  6. #6
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    La date de l'intervention n'est-elle pas suffisante ?
    je pense elle est suffisante

    si ce MCD est correcte laissez moi ajouter l'entité projet

    Nom : 4.PNG
Affichages : 16413
Taille : 60,3 Ko

    c'est que me casse la tête est l'emplacement de l'entité projet, puisque je développe une application java connectée à une base de données et que l'employeur veut connaître tous à partir de cette interface, c'est à dire: pour un projet donné: quelles sont les missions executées? par qui? quelles sont les tâches planifiées? quel materiel consommé par quelle quantité? quel est la date de début et de fin? ...


    s'il vous plaît pouvez vous me trouver une solution?
    ****************************************

  7. #7
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Avant de poursuivre, il est un point qu’il faut éclairer :

    Qu’est-ce exactement qu’une mission dans le cadre de votre propre projet ? Qu'est-ce qu'une intervention ?
    merci infiniment françois pour votre réponse, en faite, une mission correspond aux trois grands travaux signé entre l'operateur et la société pour laquelle je travaille mission={"Installation", "Maintenance", "Surveillance"} et elle peut durer des journées. et chaque mission contient des tâches à executer (comme "installation Rack", "installation reglettes" ....)

    pour l'intervention: c'est une activité journalière faite par les employés (elle est définie par sa date)

    Dans le même sens, qu’est-ce qu’un site ? Un site se situe-t-il dans l’entreprise de l’employé ? Chez un des clients de l’entreprise de l’employé ?

    pour le site c'est le site de l'opérateur, il se situe au dehors de l'entreprise. (il y'en a plusieurs sites géographiquement localisés)

  8. #8
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 965
    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 : 7 965
    Points : 30 777
    Points
    30 777
    Billets dans le blog
    16
    Par défaut
    Bonsoir,


    Citation Envoyé par abderazaqtr Voir le message
    une mission correspond aux trois grands travaux signés entre l'operateur et la société pour laquelle je travaille.
    Autrement dit, une mission est en fait, un type de mission : installation, maintenance, surveillance, et une intervention est effectuée dans le cadre d’un de ces types de mission. On pourrait même dire que MISSION, TYPE_MISSION, ou encore TYPE_INTERVENTION sont des termes synonymes. C’est bien cela ?

    Par exemple, est-ce que cette représentation vous choque ?

    [INTERVENTION]----1,1-------(A_pour_type)--------0,N----[TYPE_INTERVENTION]

    Ou celle-ci ?

    [INTERVENTION]----1,1-------(A_pour_type)--------0,N----[TYPE_MISSION]


    Je note par ailleurs l’apparition d’un nouveau concept, celui d’opérateur. Votre entreprise n’est-elle en relation qu’avec un opérateur unique ? Peut-il y en avoir d’autres ?


    Pour en venir aux projets :

    Vous avez établi l’association suivante entre les entités-types PROJET et INTERVENTION :

    [PROJET]----1,N--------(Concerne)--------1,1----[INTERVENTION]

    Ainsi, un projet serait un ensemble d’interventions déjà réalisées (à telle date) et peut-être d’interventions planifiées (pour telle date). Qu'en est-il exactement ?

    L’entité-type PROJET comporte les attributs suivants :

    Id_Projet : d’accord.

    Nom_Projet : d’accord.

    Mission : vous avez écrit « l'employeur veut connaître [...] pour un projet donné: quelles sont les missions exécutées? » Autrement dit, un projet peut comporter différents types de missions. Dans ces conditions, l’attribut Mission n’a pas à faire partie de l’en-tête de l’entité-type PROJET, en effet, on sait quels sont les types de missions, puisqu’ils sont déterminés par les interventions.

    Intervenants : même chose, cet attribut n’a pas à faire partie de l’en-tête de l’entité-type PROJET, en effet chaque employé participant à une intervention est connu grâce à l’association « Exécute » mettant en relation les entités-types INTERVENTION et EMPLOYE. Dans ces conditions, l’association « S’engage » mettant en relation PROJET et EMPLOYE est redondante et doit disparaître.

    Matériels_consommes : là encore, cet attribut doit disparaître, puisqu’on connaît les dates des interventions, les tâches effectuées pour chaque intervention, donc les matériels consommés.

    Taches_Planifiees : comme je l’ai supposé, s’agit-il d’interventions relevant de l’entité-type INTERVENTION ? Merci de préciser ce dont il s’agit exactement.

    Date_debut : d’accord.

    Date_fin : d’accord.

    Etat : d’accord.


    Bon courage
    (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.

  9. #9
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par fsmrel Voir le message
    Mission : vous avez écrit « l'employeur veut connaître [...] pour un projet donné: quelles sont les missions exécutées? » Autrement dit, un projet peut comporter différents types de missions. Dans ces conditions, l’attribut Mission n’a pas à faire partie de l’en-tête de l’entité-type PROJET, en effet, on sait quels sont les types de missions, puisqu’ils sont déterminés par les interventions.
    Bon courage
    Je rectifie: L'employeur veut connaître pour un projet donnée, la mission concernée aussi les interventions faites lors de cette mission, dans le but d'identifier les charges de chaque intervention de cette mission (charges materielles et humaines).

    J'ai élaboré un nouveau MCD ou j'ai supprimé l'attribut mission de l'intervention et j'ai modifie une patte de l'association Execute

    Nom : 5.PNG
Affichages : 14775
Taille : 60,1 Ko


    Est ce que je dois supprimer l'association (travaille dans) puisque un employe execute une tache qui est faite lors d'une intervention qui compose le projet???


    Et merci beaucoup mes amis pour votre aide !!!
    **************************************

  10. #10
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Bonjour mes amis
    **************

    enfin j'ai conçu un MCD et je vous demande votre avis, aidez moi s'il vous plaît si quelque chose n'est pas claire ou pas normalisée.


    Nom : 6.PNG
Affichages : 13731
Taille : 65,9 Ko


    J'ai mis la mission dans une entité à part

    puisque un projet contient une seule mission, or une même mission peut exister dans différents projets, aussi les missions sont préalablement connues {installation, maintenance, surveillance}

    un materiel est stocké par une quantite_stock, donc le genre du materiels est essentiel {longueur, poids, unite, liquide}

    et chaque genre classifie une famille d'unités par exemple longueur -->{cm, m, km} ou poids{g, kg, t}


    s'il vous plaît mes amis aidez moi je dois terminer ceci le plus proche possible, et merci d'avance
    Images attachées Images attachées  

  11. #11
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Ah bon voici le dernier MCD avec beaucoup de simplification


    Nom : 7.PNG
Affichages : 13354
Taille : 68,9 Ko


    aidez moi s'il vous plaît par vos conseils

  12. #12
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 965
    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 : 7 965
    Points : 30 777
    Points
    30 777
    Billets dans le blog
    16
    Par défaut
    Bonsoir abderazaqtr,


    Vérifions que l’on sait fournir la liste des intervenants pour une mission donnée, sur la base de cette vue de votre MCD :




    Traduisons en SQL (SGBD MySQL) :

    Table MISSION
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE TABLE MISSION
    (
            MissionId           INT            NOT NULL
          , MissionNom          VARCHAR(64)    NOT NULL
      , CONSTRAINT MISSION_PK PRIMARY KEY (MissionId)     
    ) ;
     
    INSERT INTO MISSION (MissionId, MissionNom) VALUES (1, 'mission 1') ;
    INSERT INTO MISSION (MissionId, MissionNom) VALUES (2, 'mission 2') ;
    INSERT INTO MISSION (MissionId, MissionNom) VALUES (3, 'mission 3') ;
    INSERT INTO MISSION (MissionId, MissionNom) VALUES (4, 'mission 4') ;
     
    SELECT *, '<= MISSION' FROM MISSION ;


    TABLE PROJET
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    CREATE TABLE PROJET
    (
            ProjetId            INT            NOT NULL
          , MissionId           INT            NOT NULL	
          , ProjetNom           VARCHAR(64)    NOT NULL
      , CONSTRAINT PROJET_PK PRIMARY KEY (ProjetId)   
      , CONSTRAINT PROJET_MISSION_FK FOREIGN KEY (MissionId) REFERENCES MISSION (MissionId)   
    ) ;
     
    INSERT INTO PROJET (ProjetId, MissionId, ProjetNom) VALUES (1, 1, 'projet 1') ;
    INSERT INTO PROJET (ProjetId, MissionId, ProjetNom) VALUES (2, 2, 'projet 2') ;
    INSERT INTO PROJET (ProjetId, MissionId, ProjetNom) VALUES (3, 1, 'projet 3') ;
    INSERT INTO PROJET (ProjetId, MissionId, ProjetNom) VALUES (4, 1, 'projet 4') ;
    INSERT INTO PROJET (ProjetId, MissionId, ProjetNom) VALUES (5, 3, 'projet 5') ;
     
    SELECT *, '<= PROJET' FROM PROJET ;


    TABLE EMPLOYE
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE TABLE EMPLOYE
    (
            EmployeId           INT            NOT NULL
          , EmployeNom          VARCHAR(64)    NOT NULL
      , CONSTRAINT EMPLOYE_PK PRIMARY KEY (EmployeId)     
    ) ;
     
    INSERT INTO EMPLOYE (EmployeId, EmployeNom) VALUES (1, 'employé 1') ;
    INSERT INTO EMPLOYE (EmployeId, EmployeNom) VALUES (2, 'employé 2') ;
    INSERT INTO EMPLOYE (EmployeId, EmployeNom) VALUES (3, 'employé 3') ;
    INSERT INTO EMPLOYE (EmployeId, EmployeNom) VALUES (4, 'employé 4') ;
     
    SELECT *, '<= EMPLOYE' FROM EMPLOYE ;


    TABLE TACHE
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    CREATE TABLE TACHE
    (
            TacheId             INT            NOT NULL
          , TacheNom            VARCHAR(64)    NOT NULL
      , CONSTRAINT TACHE_PK PRIMARY KEY (TacheId)     
    ) ;
     
    INSERT INTO TACHE (TacheId, TacheNom) VALUES (1, 'tâche 1') ;
    INSERT INTO TACHE (TacheId, TacheNom) VALUES (2, 'tâche 2') ;
    INSERT INTO TACHE (TacheId, TacheNom) VALUES (3, 'tâche 3') ;
    INSERT INTO TACHE (TacheId, TacheNom) VALUES (4, 'tâche 4') ;
    INSERT INTO TACHE (TacheId, TacheNom) VALUES (5, 'tâche 5') ;
    INSERT INTO TACHE (TacheId, TacheNom) VALUES (6, 'tâche 6') ;
     
     
    SELECT *, '<= TACHE' FROM TACHE ;


    TABLE TACHE_PROJET (association CHARGE)
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    CREATE TABLE TACHE_PROJET
    (
            TacheId             INT            NOT NULL
          , ProjetId            INT            NOT NULL
      , CONSTRAINT TACHE_PROJET_PK PRIMARY KEY (TacheId, ProjetId)
      , CONSTRAINT TACHE_PROJET_TACHE_FK FOREIGN KEY (TacheId) REFERENCES TACHE (TacheId)
      , CONSTRAINT TACHE_PROJET_PROJET_FK FOREIGN KEY (ProjetId) REFERENCES PROJET (ProjetId)
    ) ;
     
    INSERT INTO TACHE_PROJET (TacheId, ProjetId) VALUES (1, 2) ;
    INSERT INTO TACHE_PROJET (TacheId, ProjetId) VALUES (1, 3) ;
    INSERT INTO TACHE_PROJET (TacheId, ProjetId) VALUES (2, 2) ;
    INSERT INTO TACHE_PROJET (TacheId, ProjetId) VALUES (5, 2) ;
    INSERT INTO TACHE_PROJET (TacheId, ProjetId) VALUES (5, 4) ;
    INSERT INTO TACHE_PROJET (TacheId, ProjetId) VALUES (6, 5) ;
     
    SELECT *, '<= TACHE_PROJET' FROM TACHE_PROJET ;


    TABLE TACHE_EMPLOYE (association EXECUTE)
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    CREATE TABLE TACHE_EMPLOYE
    (
            TacheId             INT            NOT NULL
          , EmployeId           INT            NOT NULL
      , CONSTRAINT TACHE_EMPLOYE_PK PRIMARY KEY (TacheId, EmployeId)
      , CONSTRAINT TACHE_EMPLOYE_TACHE_FK FOREIGN KEY (TacheId) REFERENCES TACHE (TacheId)  
      , CONSTRAINT TACHE_EMPLOYE_EMPLOYE_FK FOREIGN KEY (EmployeId) REFERENCES EMPLOYE (EmployeId)
    ) ;
     
    INSERT INTO TACHE_EMPLOYE (TacheId, EmployeId) VALUES (1, 2) ;
    INSERT INTO TACHE_EMPLOYE (TacheId, EmployeId) VALUES (2, 1) ;
    INSERT INTO TACHE_EMPLOYE (TacheId, EmployeId) VALUES (2, 2) ;
    INSERT INTO TACHE_EMPLOYE (TacheId, EmployeId) VALUES (2, 4) ;
    INSERT INTO TACHE_EMPLOYE (TacheId, EmployeId) VALUES (4, 1) ;
    INSERT INTO TACHE_EMPLOYE (TacheId, EmployeId) VALUES (5, 1) ;
    INSERT INTO TACHE_EMPLOYE (TacheId, EmployeId) VALUES (5, 3) ;
    INSERT INTO TACHE_EMPLOYE (TacheId, EmployeId) VALUES (6, 4) ;
     
     
    SELECT *, '<= TACHE_EMPLOYE' FROM TACHE_EMPLOYE ;


    Qui sont les intervenants de la mission 3 ?


    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT DISTINCT EmployeNom
    FROM   MISSION AS x INNER JOIN PROJET AS y ON x.MissionId = y.MissionId
                        INNER JOIN TACHE_PROJET AS z ON y.ProjetId = z.ProjetId
                        INNER JOIN TACHE_EMPLOYE AS t ON z.TacheId = t.TacheId
                        INNER JOIN EMPLOYE AS u ON t.EmployeId = u.EmployeId  
    WHERE  MissionNom = 'mission 3' ;

    Au résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    EmployeNom
    ----------
    Employé 4
    Est-ce bien ce que vous attendiez ? Si oui, cette partie du MCD est correcte.


    N.B. N’oubliez pas de doter l’entité-type MISSION d’un identifiant.
    (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.

  13. #13
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup Mr François pour votre réponse

    en fait c'est bien le résultat voulu, mais j'ai fait quelques modifications sur cet MCD, j'ai enlevé la propriété date de l'entité Etat et j'ai la mis comme propriété du projet.

    Nom : a.PNG
Affichages : 12863
Taille : 27,7 Ko


    puisque le projet change d'etat selon la date

    et les Etats sont connus depuis le début Etat ={"en attente", "En cours", "Terminé"}


    Aussi j'ai rencontré un mauvais problème sur l'entité tache: puisque une mission donnée contient des taches, et une tache contient des sous taches: pour cela j'ai fait une association réflexive entre tache et tache, mais le problème c'est que on ne peut pas enregistrer les super_taches sans clé étrangère


    Nom : b.PNG
Affichages : 12456
Taille : 19,7 Ko

    exemple:

    Nom : c.PNG
Affichages : 12408
Taille : 13,6 Ko


    Nom : d.PNG
Affichages : 12116
Taille : 6,6 Ko


    comment je dois procéder s'il vous plaît, est ce que je dois créer d'autre entités Tache1 Tache2 .... comme sous taches

    et merci d'avance pour votre aide

  14. #14
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Bonjour mes chers amis
    *********************

    enfin voici mon dernier MCD

    Nom : mcd1.PNG
Affichages : 12996
Taille : 73,2 Ko

    que je vous demande votre avis.

    pour l'association réflexive j'arrive à résoudre le problème sous oracle mais pas sous postgresql

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    create table tache(Id_tache numeric(6) primary key, Nom_tache varchar(30), sup_tache numeric(6) null, foreign key(sup_tache) references tache(Id_tache))
    quand postgresql retourne un message d'erreur

    ERREUR: déclarations NULL/NOT NULL en conflit pour la colonne « sup_tache » de la table « tache »
    ********** Erreur **********


    merci beaucoup mes amis pour votre aide

  15. #15
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 965
    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 : 7 965
    Points : 30 777
    Points
    30 777
    Billets dans le blog
    16
    Par défaut
    Bonsoir abderazaqtr,


    Citation Envoyé par abderazaqtr Voir le message
    le projet change d'état selon la date
    Selon votre modèle, on sait par exemple que le projet est dans l’état « en cours », mais on ne sait plus à quelle date il a débuté. Si on doit s’en souvenir, alors il faudra modéliser un historique des états du projet.


    Citation Envoyé par abderazaqtr Voir le message
    une tache contient des sous taches
    Pourquoi ne pas modéliser ainsi :

    [TACHE]----1,N--------(Composer)--------1,1----[SOUS-TACHE]

    Voire ainsi (identification relative) :

    [TACHE]----1,N--------(Composer)--------(1,1)----[SOUS-TACHE]

    Un employé peut être associé à des sous-tâches.


    Pourquoi tenez-vous à une association réflexive ?

    Votre problème posé par PostgreSQL est soluble sans difficulté, mais j’aimerais d’abord savoir ce qui vous a poussé à utiliser une réflexive. Bref, quelles sont exactement les règles de gestion du point de vue du métier ?

    (En passant, n’oubliez pas de voter pour les réponses qui ont pu vous être utiles...)
    (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.

  16. #16
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par fsmrel Voir le message

    Pourquoi tenez-vous à une association réflexive ?
    par ce que les taches sont arborescentes, et toutes les sous taches non pas un niveau limite commun.


    je pense j'ai réglé le problème avec oracle. Mais, maintenant j'ai trouvé des difficultés pour se connecter à oracle via mon application java.

  17. #17
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 965
    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 : 7 965
    Points : 30 777
    Points
    30 777
    Billets dans le blog
    16
    Par défaut
    Bonsoir abderazaqtr,


    Pour vous faciliter la vie lors de la dérivation du MCD en MPD, vous pouvez modéliser l’arborescence ainsi, où les taches sont hiérarchisées, sauf les racines, par définition. Une tâche hiérarchisée T est une tâche (d’où l’emploi de l’héritage) et cette tâche a une (autre) tâche pour parente.





    Par dérivation du MCD en MPD (au sens PowerAMC) :

    (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.

  18. #18
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Bonjour à tous

    enfin je revient après longtemps, j'ai réalisé mon MCD, mais j'ai trouvé un petit problème

    Nom : mcd8.PNG
Affichages : 13595
Taille : 71,8 Ko


    c'est que l'entité projet prends des états variables selon la date donc par principe mon mcd était (projet )-1,1------------[est en]/date------------0,n-(Etat)

    ou date est un attribut de l'association, mais puisque la patte projet--est en a au maximum 1 donc la date sera un attribut de l'entité projet

    mais je ne sais pas comment à chaque fois que notre projet change d'etat on va actualiser notre table projet, comment procéder s'il vous plaît?

  19. #19
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Abderazaqtr et Fsmrel,

    Je me permets de m'immiscer, Fsmrel...

    Citation Envoyé par Abderazaqtr
    mais je ne sais pas comment à chaque fois que notre projet change d'etat on va actualiser notre table projet, comment procéder s'il vous plaît?
    ==> la notion d'état semble être une notion dynamique. Peux-tu donner la règle du jeu du changement d'état d'un projet, avec quelques exemples ?
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  20. #20
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 965
    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 : 7 965
    Points : 30 777
    Points
    30 777
    Billets dans le blog
    16
    Par défaut
    Bonjour abderazaqtr,

    Que souhaitez-vous ? Conserver un seul état ? La succession des états (état et date de passage à chacun des états) par lesquels un projet est passé ?


    Quoi qu’il en soit, selon le MCD actuel, on ne connaît qu’un état du projet, disons le dernier. Pour changer d’état, en SQL un UPDATE suffit.

    Structure SQL de la table PROJET
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE TABLE PROJET
    (
            ProjetId            INT            NOT NULL
          , MissionId           INT            NOT NULL
          , ProjetNom           VARCHAR(64)    NOT NULL
          , EtatId              INT            NOT NULL
          , EtatDate            Date           NOT NULL
      , CONSTRAINT PROJET_PK PRIMARY KEY (ProjetId)   
      , CONSTRAINT PROJET_MISSION_FK FOREIGN KEY (MissionId) REFERENCES MISSION (MissionId)   
      , CONSTRAINT PROJET_ETAT_FK FOREIGN KEY (EtatId) REFERENCES ETAT (EtatId)
    ) ;

    Changement d’état :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UPDATE PROJET 
        SET EtatId = ...
          , EtatDate = ...
        WHERE ProjetId = ... ;
    (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.

Discussions similaires

  1. [AC-2010] MCD Pour la gestion des participants à une convention.
    Par seanp223 dans le forum Modélisation
    Réponses: 2
    Dernier message: 05/05/2011, 05h20
  2. [MCD] Difficulté conception modèle pour la Gestion des Achats
    Par maddev dans le forum Schéma
    Réponses: 13
    Dernier message: 21/02/2009, 19h11
  3. Besoin d'aide pour MCD de la gestion des SAV
    Par balolo dans le forum Schéma
    Réponses: 6
    Dernier message: 07/12/2007, 17h06
  4. [MCD] Conception d'un MCD pour des étudiants d'une fac
    Par beegees dans le forum Schéma
    Réponses: 7
    Dernier message: 16/10/2006, 03h05

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