|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Bonjour,
j'aimerais avoir votre retour concernant la façon de faire pour modéliser un système permettant de gérer au mieux des attributs non commun à une entité type. Je m'explique au travers d'un exemple : Prenons par exemple le cas d'une modélisation d'une observation. Un individu A travaillant pour une société A observe quelque chose. Il note des champs obligatoire et commun entre toutes les observation (date, position, chose observée...) mais aussi des attributs non commun (météo, présence de vent...). L'individu B qui travaille pour la société B fait pareil mais lui va avoir d'autres champs associés a ses propres observations. La question est de savoir comment peut-on faire pour stocker ces différences et être tout de même capable de restaurer les informations différentes pour chaque individu ? Par avance, merci pour vos lumières |
|
|
00
|
|
|
#2 |
![]() ![]() |
S'il y a différents types d'observations avec pour chaque type les mêmes informations à enregistrer dans un type quel que soit l'observateur, alors il suffit de faire un héritage :
obs_typeA -(1,1)----être----0,1- observation obs_typeB -(1,1)----être----0,1----------| observation (obs_id, [colonnes communes à tous les types d'observations]) obs_typeA (ota_id_observation, [colonnes spécifiques aux observations de type A]) obs_typeB (ota_id_observation, [colonnes spécifiques aux observations de type B]) Si par contre c'est l'observateur qui décide sur le moment les informations qu'il note, en plus de quelques informations standardisées pour toutes les observations, alors il faut une table séparée pour les informations complémentaires : observation -0,n----contenir----(1,1)- info_complementaire observation (obs_id, [colonnes communes à toutes les observations]) info_complementaire (icp_id_observation, icp_numero, libelle...)
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#3 |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Bonjour et merci pour ta réponse,
Sachant qu'il y a potentiellement plusieurs type d'observation et que dans un avenir proche, il y en aura d'autre, comment peut-on créer quelque chose d'évolutif qui permettrait d’éviter la création d'une nouvelle table dès lors qu'un nouveau type d'observateur apparaît ? |
|
|
00
|
|
|
#4 |
![]() ![]() |
Ça veut dire que tu es dans le premier cas (héritage) avec des types d'observations bien définies ?
Si tu veux que ce soit évolutif sans création de tables filles supplémentaires, je ne vois plus qu'une table des types et des métadonnées associées aux types. type_obs -0,n----typer----1,1- observation -0,n----recueillir
|-----0,n----avoir----1,n- critere -0,n------------|
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#5 | |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Citation:
|
|
|
|
00
|
|
|
#6 | |
![]() ![]() |
Je relève une ambiguïté dans tes deux derniers messages :
Citation:
Ton dernier message me laisse à penser que ce serait plutôt la solution sans héritage qui conviendrait.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com