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 !!!
Partager