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 :

Gestion de l'entité-type Personne


Sujet :

Schéma

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Gestion de l'entité-type Personne
    Bonjour a tous,
    Je suis débutant, celas veut dire que tous ce que je sais sur le MCD aujourd’hui et exclusivement acquis à travers forum, et vous en remercie.
    Celas étant dit, je souhaiterais sollicité votre aide sur la validation et/ou remarques sur mon MCD, car ayant lu tous les posts mon esprit est aujourd’hui un peu embrouillé et je tourne en rond !
    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
    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,

    Il est louable d’avoir défini un surtype Personne : ainsi vous pouvez factoriser les adresses et les coordonnées des personnes.

    Mais il ne faut pas tenir ceci pour idéal, car à la réflexion, plutôt qu’une seule table Adresse obèse au niveau opérationnel il sera peut-être plus intéressant d’avoir 2 tables d’adresses : une pour les sociétés et une pour les personnes physiques (particuliers, gérants, actionnaires, contacts) et qui plus est (et surtout), identifiées de façon relative. Pourquoi ? Au niveau opérationnel, les risques de contentions seront moins élevés, les sauvegardes, les réorganisations et autres tâches de service seront plus rapides une fois parallélisées, le nombre de niveaux d’index plus réduit, les temps d'accès bien optimisés, etc. Vous me rétorquerez qu’au niveau conceptuel, on ne se situe ni dans le temps ni dans l’espace et qu’on n’a pas à se préoccuper des performances et autres impedimenta. Certes, mais à terme, le temps (temps de réponse), l’espace (ressources) sont des objets de grande préoccupation et ce n’est pas une fois que la base de données sera arrivée en production que l’on pourra de permettre de faire marche arrière : l’expérience prouve que les soucis bassement matériels doivent être pris en compte au plus tôt (au moins avec les grandes bases de données) et, mine de rien, qu’ils ont une très forte incidence sur la modélisation conceptuelle. Ceux qui prétendront le contraire n’ont jamais passé leurs nuits à rattraper le coup, à compter les heures CPU et les I/O waits, à la nausée. Il n’est donc pas complètement stupide de réfléchir à l’éclatement des adresses en adresses des particuliers, des gérants, etc. : je veux dire par là qu’il faut peser le pour et le contre, en pensant aux conséquences de ses choix quant au système mis en production. Le plus déterminant dans cette affaire reste l'utilisation de l'identification relative. Ce qui vaut pour les adresses vaut évidemment pour les coordonnées.

    => La modélisation des données est un art, mais ça n’est pas une science exacte.

    Définir une entité-type (surtype) Personne est conceptuellement une bonne chose, mais à condition qu'il y ait à factoriser des données communes, telles que le nom des personnes, leur prénom, etc., c'est le but. Or, votre surtype Personne ne comporte pas d’attributs, sinon un identifiant purement technique, il n'y a donc rien à hériter :
    Ceci milite aussi pour l'élimination du surtype Personne. On se retrouverait alors avec une entité-type Société et un surtype Individu (ou Personne Physique).

    Concernant votre entité-type Type, je suppose qu’il s’agit du type des personnes : "particulier", "gérant", etc. Si tel est le cas, elle n’apporte rien et devrait disparaître. En effet, selon votre MCD, rien n’interdit de dire qu'un individu est à la fois gérant et contact alors qu’il a un rôle unique. Une solution consiste à définir un attribut TypePersonne au niveau du surtype, en en fixant la liste des valeurs (fenêtre Propriétés de AMC, onglet Contrôles standards). Au niveau tabulaire, il y aura alors génération automatique d’une contrainte de valeurs, que vous pourrez doubler d’un trigger pour vous assurer que les données d’un individu pour lequel TypePersonne = "gérant" ne soient pas, par exemple, stockées dans la table Contact.
    (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
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Merci d’avoir répondu à mon post.

    En ce qui concerne l’entité-type Adresse, j’ai pris en compte l’intérêt de l’éclatement de cette entité.

    L’identification relative, je corrige ça.

    Concernant l’entité-type Personne, vous me conseillez de supprimer le surtype Personne et de le remplacer par un surtype Individu (ou Personne Physique), le problème est que, si je modélise un surtype Individu et une entité-type Société qui hériterais du surtype, les attributs du surtype Individu seront tous à NULL lorsque j’ajouterais une société.

    Voici les critères que je cherche à modéliser.

    Modéliser :
    Une Personne peut être soit physique soit morale
    Si personne physique :
    - Nom
    - Prénom
    - Date de naissance
    - Lieux de naissance
    - Adresse (possibilité d avoir une 2ème adresse pour le courrier)
    - Coordonnés (possibilité d avoir d autre coordonnés, ex. jour/nuit)
    - Genre : M/F
    - Titre : Mr, Melle, Mme, Dr etc...
    - Son secteur d’activité
    Celle-ci a la possibilité d’avoir un contact alternative dans le cas ou elle serait injoignable.
    Si elle a un contact alternatif :
    - Nom
    - Prénom
    - Adresse
    - Coordonnés

    Si personne morale :
    - Raison social
    - Capital social
    - Structure de la personne morale (SARL, S.A., S.N.C etc....)
    - RCS
    - Adresse (au minimum siège social, peut avoir une adresse postal différente de celle du siège)
    - Coordonnés (idem que pour adresse)
    - Website (si elle en à un)
    - Son secteur d’activité
    - Son (ses) dirigeant(s) (attention certaines sociétés sont dirigées par d’autres sociétés)
    - Nom
    - Prénom
    - Raison social
    - Adresse
    - Son (ses) actionnaire(s) (idem que pour dirigeant)
    - Avoir un contact
    - Nom
    - Prénom
    - Raison sociale
    - Position dans la société
    - Adresse
    - Coordonnés

    Pour l’entité-type Type, il s’agit bien du Type des personnes, par contre je ne sait pas si je l’ai bien modélisé pour qui soit compréhensible, car dans mon contexte, un contact peut être aussi Gérant et/ou actionnaire d’une personne morale ou simplement un employé de la société.
    Dans mon MCD, les entités-type Particulier et Société sont des enfants mutuellement exclusive de l’entité-type Personne alors que les entités-type Gérant, Actionnaire et Contact ne le sont pas. Ceci explique pourquoi je l’ai modélisé ainsi. J'ai voulu représenter le fait que une Personne peut être soit une personne physique, soit une personne morale mais que d'autre personne peuvent être enregistre en ayant un rôle particulier ( c'est le cas pour le Gérant , Actionnaire et Contact)

  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
    Citation Envoyé par dclark
    Concernant l’entité-type Personne, vous me conseillez de supprimer le surtype Personne et de le remplacer par un surtype Individu (ou Personne Physique), le problème est que, si je modélise un surtype Individu et une entité-type Société qui hériterais du surtype, les attributs du surtype Individu seront tous à NULL lorsque j’ajouterais une société.
    Selon ce scénario, je voulais dire que, pour moi, Societe n’était plus sous-type, d’où la représentation graphique :





    Maintenant, vous voulez qu’une même personne puisse jouer simultanément plusieurs rôles : en toute logique, la représentation précédente ne vaut plus, puisque la contrainte d’exclusion disparaît (ainsi que l’attribut TypePersonnePhysique) :



    Concernant le contact alternatif d’une personne physique, vous pouvez définir une association-type entre personnes physiques.
    (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
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Un grand merci a fsmrel

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

Discussions similaires

  1. Type "personne ou groupe"
    Par hosboss dans le forum SharePoint
    Réponses: 0
    Dernier message: 04/02/2008, 13h04
  2. Gestion des requetes de type select en mode déconnecté
    Par ninsekh dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/10/2007, 20h56
  3. Gestion d'un évènement type "onoverflow"
    Par proner dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/06/2007, 10h29
  4. Gestion d'enregistrement de type excel
    Par Monkeytootoo dans le forum IHM
    Réponses: 2
    Dernier message: 22/11/2006, 11h48
  5. gestion des domaines et types
    Par Bouboubou dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 10/03/2004, 10h19

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