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 :

Demande aide pour MCD agenda


Sujet :

Schéma

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 58
    Points : 31
    Points
    31
    Par défaut Demande aide pour MCD agenda
    Bonjour,

    j'espère que quelqu'un aura la grande gentillesse de me conseiller pour la réalisation de mon MCD. Je suis novice en la matière et voici mon projet:

    Je souhaite réaliser un programme qui d'une part comporterait une partie gestion de contacts (avec données habituelles telles que Nom, Prénom, date de naissance, adresse,...) et d'autre part une partie agenda.
    Le lien entre les 2 sera que la date de naissance du contact est automatiquement insérée comme évenement de type anniversaire dans mon agenda.

    Pour ce qui est de mon agenda, il permettra de gerer 4 types d'évenements se présentant sous la forme suivante :
    • - Travail
    Type : Nuit – Jour – Formation – Helpdesk – Congé
    Date début + Heure
    Date fin + Heure
    Commentaire

    • – Rendez-vous et Loisir :
    Objets
    Adresse
    Date début + Heure
    Date fin + Heure
    Commentaire

    • - Anniversaire :
    Nom
    Prenom
    Date anniversaire
    Commentaire

    L'agenda aura également une option afin d'afficher par année ou par mois des informations suivantes sur le temps de travail:
    • - Nombre d’heures prestées
    • - Nombre d’heures à prester
    • - Différence entre le nombre d’heures prestées et le nombres à prester
    • - Nombre d’heures de weekends prestées
    • - Nombre de weekends prestées
    • - Nombre de nuits prestées
    • - Nombre d’heure de nuits prestées
    • - Nombre de congés restant
    • - Nombre d’heures de congés restant


    Voilà mon travail. J'ai réalisé un MCD que voici mes je doute qu'il soit correcte alors j'aurais souhaité les conseils de personnes plus balaises dans ce domaine. Un grand merci d'avance

  2. #2
    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
    Bonsoir,

    Vous le demandez gentiment, on va donc essayer de vous répondre en essayant de ne pas être trop sévère...

    Il est d’usage de mettre les noms des entités-types au singulier. Par exemple, Événement et non pas Événements. En effet, les attributs (ou propriétés) composant une entité-type correspondent aux éléments composant un prédicat au sens de la logique :

    L’événement identifié par n°_Evenement, de type type_Evenement, a commencé à date_heure_debut et s'est terminé à date_heure_fin.

    Ainsi, les occurrences au sens Merise sont, au sens de la logique, les instances de ce prédicat et chaque instance décrit un événement unique et non pas plusieurs événements.

    A propos de "Est un" : il y a une contradiction quant à l’emploi de "Est un" et des cardinalités 0,N portées par les pattes branchées sur l’association Est un. En employant "Est un", vous affirmez qu’un événement peut être soit du type Loisir, soit du type Rendez-vous, soit du type Anniversaire, soit du type Travail. Si au contraire ce sont les cardinalités 0,N qui sont pertinentes, alors il faut remplacer "Est un" par un verbe traduisant la participation simultanée d’un événement, d’un loisir, d’un rendez-vous, d’un anniversaire et d’un travail. Bon courage...

    Selon votre modèle, un anniversaire concerne plusieurs contacts : est-ce bien ce vous voulez représenter ?

    Selon votre modèle, Cumul —de préférence, utilisez un verbe pour les associations, mais ça n’est pas une nécessité absolue— est une rencontre de travaux et de récapitulatifs (toujours les cardinalités 0,N). Merci de donner un éclairage quant à la signification exacte de la chose et de fournir des exemples. Un récapitulatif concerne-t-il un individu en particulier, ou est-ce une entité qui se suffit à elle-même ? Question analogue concernant les autres entités-types.

    Quant à l’identification : on n’identifie pas une entité-type par un attribut "naturel", tel que nom_Contact. L’identifiant d’une entité-type est de préférence artificiel, sinon, pour reprendre l'exemple, comment traiterez-vous deux contacts ayant le même nom ? En plus vous risquerez de connaître des déboires lors de la modification des valeurs des clés (issues des identifiants) une fois la base de données en production.
    (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
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 58
    Points : 31
    Points
    31
    Par défaut
    Merci pour cette réponse ...
    A la suite de celle-ci, j'ai fait quelques modifications....
    Pourriez-vous me donner votre avis.

    J'ai supprimé la table Recapitulatif.
    J'ai hésité en fait, parce que dans un sens je me dis que c'est plus une table isolée, elle n'a pas de lien avec le reste. Ce sont des calculs que j'effectuerai dans ma partie programmation pour comptabiliser par mois et par an les heures prestées, ect... Mais en même temps, elle reprend la donnée nombre de congés restant donc je pourrais la liée à Congé

  4. #4
    Membre expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Points : 3 134
    Points
    3 134
    Par défaut
    A propos de "Est un" : il y a une contradiction quant à l’emploi de "Est un" et des cardinalités 0,N portées par les pattes branchées sur l’association Est un. En employant "Est un", vous affirmez qu’un événement peut être soit du type Loisir, soit du type Rendez-vous, soit du type Anniversaire, soit du type Travail. Si au contraire ce sont les cardinalités 0,N qui sont pertinentes, alors il faut remplacer "Est un" par un verbe traduisant la participation simultanée d’un événement, d’un loisir, d’un rendez-vous, d’un anniversaire et d’un travail. Bon courage...
    Même remarque Tu peux peut être placeer un héritage à ce niveau ? Dire que Rendez-vous, Anniversaire, Travail et Loisir héritent de Evenement (ce que suggère d'ailleurs la relation "Est un")
    Hervé Delannoy, Ingénieur études&développement.

    Je n'accepte pas les demandes de mise en relation MSN/yahoo sans motif.
    ------------------------------------------------------------------------
    Si , ni , ne peuvent vous aider, mais nous oui, pensez à un pti et au !
    Merci de vous relire
    ____________________________________________________________________________________
    Recherche joueurs de "Magic" sur Lille et environs.
    Donner plutôt que jeter.

  5. #5
    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
    Bonjour,


    Je répète : je vous ai expliqué pourquoi il est d’usage de mettre les noms des entités-types au singulier. Par exemple, Evenement et non pas Evenements.

    Je répète une fois encore, à propos de "Est un" : il y a une contradiction quant à l’emploi de "Est un" en conjugaison avec des cardinalités 0,N portées par les pattes branchées sur l’association "Est un".
    Selon votre dernière représentation graphique, votre association "Est un" est toujours à interpréter comme dans votre 1re représentation, à la seule restriction près qu’un événement est associable au plus à un rendez-vous, un loisir, un anniversaire et à un travail.
    Ainsi, prenons le cas du rendez-vous : vous rendez celui-ci associable à plusieurs événements, plusieurs loisirs, plusieurs anniversaires et plusieurs travaux. Il n’y a pas de "Est un" là-dedans, mais une sorte de composition.
    Si "Est un" traduit le fait qu’un événement est, soit un rendez-vous, soit un loisir, soit un anniversaire, soit un travail, suivez hed62 dans la logique de l'héritage et utilisez les possibilités de représentation de la généralisation/spécialisation des entités-types offertes par votre outil de modélisation (icône Héritage avec par exemple, PowerAMC).

    Exemple avec PowerAMC :




    Vous noterez la suppression des identifiants des entités-types spécialisées (sous-types), car elles héritent de celui d’Evenement. Tant qu’à faire, factorisez les données communes : Date_Debut, etc.

    Si votre outil ne permet pas de représenter les liens d’héritage, vous pouvez les simuler :




    Votre relation "Est un" initiale a explosé, en autant de relations "Est un" qu’il y a d’entités-types spécialisées (sous-types). Notez encore que les cardinalités 0,N se sont transformées en 1,1 au sein de parenthèses (c'est ainsi que PowerAMC symbolise l'identification relative, notamment le fait que l’identifiant d’un sous-type est hérité de celui du surtype Evenement). La cardinalité 1,1 est nécessaire si on veut exprimer qu’un rendez-vous procède d’un événement spécialisé. Si on laissait 0,N, cela signifierait qu’un rendez-vous serait composé de plusieurs événements. Vous conviendrez que spécialisation/généralisation et composition n’ont rien à voir. Dans le cas des associations-types binaires, 0,N permet d’exprimer la composition : un rendez-vous serait composé de plusieurs événements, comme notre alphabet est composé de 26 lettres (tandis qu’une lettre n’est pas un alphabet, selon la logique du "Est un").

    Réfléchissez aussi à l’absence d’attributs dans l’entité-type Anniversaire, à la présence d’une cardinalité 0,1 entre Anniversaire et Contact : il y a à gratter...

    Tant qu’à faire, transformez l’association '"Correspond à" en autant de d’associations qu’il y a d’entités-types en relation avec Travail. Ensuite, justifiez la pertinence de chacune de ces entités-types (Jour, Nuit, ...) en en décrivant le rôle qu’elle joue par rapport à Travail.

    Gardez courage. Cent fois sur le métier...
    (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
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 58
    Points : 31
    Points
    31
    Par défaut Modification
    Bonjour,

    j'ai lu vos remarques constructives et je pense les avoir appliquées. J'ai du changer de logiciel car le mien ne permettait pas de représenter l'heritage. Par ailleurs, après discussion avec un collègue, j'ai changé qques fonctionnalités de mon programme ce qui a engendré des modifs dans mon MCD.

    Tout d'abord, j'ai supprimé les entités Rendez-vous et Loisir car je souhaite que l'utilisateur puisse créer lui-même son type d'évenement, il y aura juste 2 types prédéfinis à savoir les évenements de type travail et anniversaire (j'ai donc laissé ces 2 entitées et j'ai indiqué que ces 2 entitées heritent de Evenement).

    Pour ce qui est de l'entité anniversaire, j'ai changé les cardinalités car comme me la fait remarqué mon collègue, il n'y a pas que les anniversaire de naissance mais par exemple aussi anniversaire de mariage, ect... J'espère donc avoir bien représenté cela.

    Pour ce qui est des entitées HelpDesk, Jour, Nuit, Formation et Congé, elles héritent de Travail qui hérite lui même donc de Evenement. En fait ces entitées (HD, Jour, Nuit,...) correspondent aux objet_Evenement du type_Evenement Travail. Je sais pas si je suis clair et si mon MCD est correct concernant cela.

    J'ai également créé une autre entité, à savoir l'entitée Adresse liée aux entitées Contact et Evenement. Je ne savais pas trop quoi mettre comme nom d'association, j'ai mis "se compose de" ...

    Voilà, merci d'avance pour vos remarques et suggestions qui me sont d'une grande aide

    Mon MCD:

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 58
    Points : 31
    Points
    31
    Par défaut Suite...esperant qu'on me reponde
    J'ai à nouveau fait des modifs car je n'avais pas mis d'identifiant à mon entité adresse et j'ai supprimé un lien...

    Fin bref, voilà mon MCD et j'ai 2 questions à ce sujet:

    1. Comment je dois faire dans mon MCD (j'utilise Win Design) pour que les entitées HD,Jour,Formation... soit en fait les Objet_Evenement du type_Evenement Travail.

    2. Est-ce que avec un héritage sur ma table Evenement, je pourrai faire en sorte qu'il existe d'autre type_Evenement que Travail et Anniversaire? Mon but etant que l'utilisateur puisse créer lui-même son type d'évenement en plus de 2 proposés.


Discussions similaires

  1. Demande aide pour MCD formulaire
    Par fmouhcine dans le forum Schéma
    Réponses: 3
    Dernier message: 29/01/2008, 09h36
  2. demande aide pour réaliser mcd merise
    Par hugue dans le forum Schéma
    Réponses: 1
    Dernier message: 30/04/2007, 17h39
  3. Réponses: 2
    Dernier message: 11/03/2006, 19h34
  4. demande aide pour XML/XSL
    Par Jarod51 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 11/01/2006, 19h10

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