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 :

[MCD]Associations entre Entités


Sujet :

Schéma

  1. #1
    Membre régulier
    Inscrit en
    Juin 2002
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 117
    Points : 74
    Points
    74
    Par défaut [MCD]Associations entre Entités
    Slt à tous !

    Le choix du départ est tjrs difficile , j'ai mis en PJ uen partie du MCD .
    Ma question en fait est de savoir si le choix des entités est cohérentes ou peut -on integrer certains attributs ds l'entité Personnes .
    Et concernant l'association faut-il creer une asso pour chaque entité ? ou une asso général comme ds l'exemple ? Quels sont les critéres du choix ?


    Merci d'avance !
    Images attachées Images attachées  

  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 966
    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 966
    Points : 30 778
    Points
    30 778
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par Flatron
    concernant l'association faut-il creer une asso pour chaque entité ? ou une asso général comme ds l'exemple ?
    Je pense que vous pourriez méditer sur la signification de l’association "Posséder".

    Une association peut, entre autres, être perçue comme un lieu de rencontre incontournable des entités connectées. Ainsi, selon votre MCD, quand une personne est associée à un titre, vous affirmez qu’il est indispensable de faire aussi participer une ville, un contact, etc. à cette rencontre.

    Ne pensez-vous pas qu’il s’agit d’une rencontre à la Prévert ? Est-il indispensable qu’un contact participe à la rencontre d’une personne et d’un titre ? à la rencontre d’une ville et d’un téléphone ?

    Si les téléphones, les contacts, etc., n’ont rien à voir dans la rencontre d’une personne et d’un titre, alors définissez une association uniquement entre Personne et Titre. Même principe pour les autres entités-types : une association entre Personne et Contact, etc.

    Par ailleurs, vous avez défini une cardinalité 1,1 en connectant Personne sur Posséder. Cela veut dire qu’une personne participe une fois et une seule à la rencontre avec le reste : cela implique à nouveau que, du point de vue du MCD, l’entité-type Personne doit être en relation binaire avec chacune des autres entités-types et non pas en relation 6-aire (sénaire).

    Vous noterez que le nom d’une entité-type est au singulier ("Titre" plutôt que "Titres") car cette entité-type représente symboliquement chaque entité concrète de type Titre.

    Merci d’éviter le style télégraphique dans la rédaction de vos questions.
    (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
    Membre régulier
    Inscrit en
    Juin 2002
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 117
    Points : 74
    Points
    74
    Par défaut
    Merci pour votre réponse trés claire et avec une pointe d'humour ('Prévert')!

    J'ai mis en PJ le new MCD !
    Images attachées Images attachées  

  4. #4
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    7 966
    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 966
    Points : 30 778
    Points
    30 778
    Billets dans le blog
    16
    Par défaut
    C’est déjà nettement mieux.

    Concernant les cardinalités 0,1 : lors de l’étape de dérivation, celles-ci provoquent la génération de colonnes clés étrangères pouvant prendre la valeur nulle, ce qui est source de tous les dangers. Pour éviter cela, prévoir des valeurs par défaut.

    Exemple avec le titre de civilité : prévoir une valeur pour l’attribut nom_civilite qui soit égale à ' ' ou encore '--', etc.

    Dans le même ordre d’idées, une personne n’a peut-être pas toujours exactement 3 téléphones : pour rester dans l’esprit du Modèle relationnel, ça serait bien de prévoir un nombre quelconque de téléphones pour une personne, d’où l’entité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Numero_tel 
        Tel_id     Integer
        Tel_no     Char(20)  ex. : +33 (0)1 23 45 67 89
        Tel_type   Char(1)   (D(omicile), etc.)
    et une association 0,n - 1,1 entre Personne et Numero_tel.
    Même principe pour les téléphones des contacts.

    Cela dit, comme diraient Laspalès et Chevallier : « c’est vous qui voyez... »
    (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
    Membre régulier
    Inscrit en
    Juin 2002
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 117
    Points : 74
    Points
    74
    Par défaut
    par vos explications je commence à bien comprendre le terme 'modele relationnel'

    En PJ , le nouveau MCD :


    J'en profite , est ce que dans mon MCD je peux faire apparaitre par exemple une entité parametrage qui contiendra différents parametres pour configurer mon appli ? Ca sera donc une entité sans association ! Vous en pensez - quoi ?

    Encore merci

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


    Citation Envoyé par Flatron
    J'en profite, est ce que dans mon MCD je peux faire apparaitre par exemple une entité parametrage qui contiendra différents paramètres pour configurer mon appli ?
    Je ne connais pas les données figurant dans l’entité-type Paramétrage, mais a priori il s’agit de métadonnées, c'est-à-dire de données qui ne sont pas du niveau de celles qui figurent dans votre MCD mais un cran au-dessus et qui en parlent. A la façon du catalogue relationnel, constitué de tables où sont décrites les tables Personne, Ville, etc., leurs colonnes, clés, index, vues, les droits des utilisateurs sur ces objets, j’en passe et des meilleures. Disons qu’en théorie Paramétrage n’a pas à figurer dans le MCD. Maintenant, pour des raisons pragmatiques, accordons une entorse : au moins tout sera ensemble et sans risque d’oubli lors de la génération des tables. Maintenant, c’est à l’administrateur des données de donner son avis.

    Vous avez "verticalisé" les téléphones et c’est bien. Attention quand même : l’entité-type Contact_tel n’est pas associée à l’entité-type Personne mais à Contact_pers (il s’agit des téléphones des contacts...)

    Concernant les cardinalités 0,1 : vous n’avez pas souhaité en faire des 1,1 ou ai-je mal exposé l’enjeu ?

    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.

  7. #7
    Membre régulier
    Inscrit en
    Juin 2002
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 117
    Points : 74
    Points
    74
    Par défaut
    Toujours aussi efficace ! et merci

    Effectivement je ne dois pas avoir compris les réels enjeux entre la cardinalité (0,1) et (1,1) . Car lors de la génération du MLD , la table 'personne' je recupere une clé étrangére ds les 2 cas !

    Correction éfféctué entre Contact et Tel_contact

    Mon new MCD :
    Images attachées Images attachées  

  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 966
    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 966
    Points : 30 778
    Points
    30 778
    Billets dans le blog
    16
    Par défaut
    Y a du mieux !


    Citation Envoyé par Flatron
    Effectivement je ne dois pas avoir compris les réels enjeux entre la cardinalité (0,1) et (1,1). Car lors de la génération du MLD , la table 'personne' recupere une clé étrangére ds les 2 cas !
    Concernant la table Personne de votre MLD, regardez de plus près les colonnes Ville_id et Civilite_id : y aurait-il pas une p’tite différence ? Une case O cochée dans un cas et pas dans l’autre ? Le but de la manœuvre est d’arriver à la mise en œuvre de l’option NOT NULL pour ces colonnes au stade de l’instruction CREATE TABLE.
    (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
    Membre régulier
    Inscrit en
    Juin 2002
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 117
    Points : 74
    Points
    74
    Par défaut
    HA je vois fraiment pas de difference , j'utilise PowerAMC .

    mais effectivement il doit bien y avoir un truc different !

    je continu à chercher !

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lien d'association entre entité et association
    Par Dahim dans le forum Merise
    Réponses: 6
    Dernier message: 02/10/2014, 11h55
  2. Association entr entités JPA
    Par pims42 dans le forum JPA
    Réponses: 3
    Dernier message: 04/02/2013, 20h48
  3. [MCD] cardinalité ''un à un'' d'une association entre entités
    Par Noobs_ dans le forum Schéma
    Réponses: 4
    Dernier message: 23/04/2009, 02h12
  4. [MCD] Associations entre trois entités
    Par wolflinger dans le forum Schéma
    Réponses: 5
    Dernier message: 21/03/2006, 15h49
  5. [MCD] MCD vs schéma entité-association
    Par Lyn2004 dans le forum Schéma
    Réponses: 2
    Dernier message: 10/11/2004, 17h20

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