Bonjour,

Je une question lors de ma conception de MCD. Voici le contexte:

Considérez le cas suivant:

Une entité appelée "MeasuredData" a les attributs suivants :
  • m_code
  • m_start_time
  • m_valeur
  • unite
  • conversion_coeffcient
  • duration(secondes)
  • calcul_type


Cette entité représente les vraie données mesurées deans le monde réel, comme température, consommation d'énergie, ci-dessous certains instances d'exemple:
`inside temperature ___ 2013.5.16 10:10:00 ___ 25 ___ °C ___ 1 ___ 600 ___ AVG`
`inside temperature ___ 2013.5.16 10:20:00 ___ 27 ___ °C ___ 1 ___ 600 ___ AVG`
`inside temperature ___ 2013.5.16 10:30:00 ___ 28 ___ °C ___ 1 ___ 600 ___ AVG`
`outside temperature ___ 2013.5.16 10:10:00 ___ 16 ___ °C ___ 1 ___ 600 ___ AVG`
`outside temperature ___ 2013.5.16 10:20:00 ___ 16 ___ °C ___ 1 ___ 600 ___ AVG`
`outside temperature ___ 2013.5.16 10:30:00 ___ 16 ___ °C ___ 1 ___ 600 ___ AVG`
`consommation ___ 2013.5.16 10:05:00 ___ 0.25 ___ M3 ___ 0.75 ___ 300 ___ SUM`
`consommation ___ 2013.5.16 10:10:00 ___ 0.20 ___ M3 ___ 0.75 ___ 300 ___ SUM`
`consommation ___ 2013.5.16 10:15:00 ___ 0.21 ___ M3 ___ 0.75 ___ 300 ___ SUM`
`consommation ___ 2013.5.16 10:20:00 ___ 0.21 ___ M3 ___ 0.75 ___ 300 ___ SUM`
`consommation ___ 2013.5.16 10:25:00 ___ 0.19 ___ M3 ___ 0.75 ___ 300 ___ SUM`
`consommation ___ 2013.5.16 10:30:00 ___ 0.12 ___ M3 ___ 0.75 ___ 300 ___ SUM`

Maintenant on a une autre entité "AggregateData" qui représente des données agrégées à partir des instances de "MeasuredData". Seulement les instances des "MeasuredData" du même type peuvent être agrégées. Ses attributs sontattributes:

  • a_code
  • a_start_time
  • a_valeur
  • duration(secondes)
  • unite


Dans l'exemple ci-dessus, 3 instances de "AggregatedData" sont obtenus après le calcul :
`average inside temperature ___ 2013.5.16 10:00:00 ___ 26.7 ___ 1800 ___ °C`<br/>
`average outside temperature ___ 2013.5.16 10:00:00 ___ 16 ___ 1800 ___ °C`<br/>
`total energy consommation ___ 2013.5.16 10:00:00 ___ 0.885 ___ 1800 ___ kWh`<hr/>

Alors j'ai modélisé comme ci-dessous avec la notion E/R:



Maintenant, je veux exprimer que les instances de "mesuresdata" du même type sont toujours agrégaés à un certain type de "AggregatedData". Ici, par exemple, les températures "inside temperature" sont toujours agrégaées à un instance de "AggregatedData" du type "average inside temperature". Donc, le premier MCD est factorisé comme le suivant:



les 2 entités mentionnées au dessus sont modifiées et 2 autres nouvelles entités sont créées.

"MeasuredDataType" avec les attributs :

  • m_type_name
  • duration(secondes)
  • unit
  • conversion_coefficient
  • calcul_type


Et "AggregatedDataType" avec les attributs :

  • a_type_name
  • duration(secondes)
  • unit



L'ancienne entité "MeasuredData" devient "MeasuredData1" avec les attributs :

  • m_start_time
  • m_value
  • m_type


En l'ancienne "AggregatedData" devient "AggregatedData1" avec les attributs :

  • a_start_time
  • a_value
  • a_type


En fait, les entités "MeasuredDataType" et "AggregatedDataType" ne sont que 2 référentiels, mais pas les vraies entités.
Et ma question : est-ce que le 2ème MCD normal ? (je pense....non). Si non, pour décrire le fait que "tous les instances de 'MeasuredData' ayant le même type doivent être avec calculé à un certain type d'instance de 'AggregatData'", comment dois-je modéliser ?

Plus généralement, comment présenter la relation entre 2 TYPE/REFERENTIEL (qu'on n'instancie pas) dans un MCD ?

Merci à vous en avance !!!