Wenn Sie sich Ihre erste Aussage ansehen
"...Eigenschaften eines einzelnen Objekts werden gemessen über verschiedene Quellen ..."
Sie können tatsächlich sofort sehen, dass Sie wahrscheinlich nach 3 Tischen suchen. Die Quelle Tisch, den Sie vorschlagen, sieht gut aus. Ich schlage dieses Objekt vor Tabelle sieht jedoch eher aus wie
ObjectId
ObjectName
ObjectDescription
... other object details (except measurement)
Ihre dritte Tabelle ist Ihre Messung Tabelle, die so aussehen könnte
MeasurementId
ObjectId - reference to Object table
SourceId - reference to Source table
DatePerformed
MeasurementValue
Success
Notes etc
Die Vorteile hier sind
- Dass Sie keine bestimmte Spalte in Ihrem Objekt haben müssen für eine bestimmte Quelle . Dies wird sehr schwierig zu pflegen, wenn Sie plötzlich mehr Quellen haben.
- Nicht alle Objekte benötigen einen Wert für jede Quelle , obwohl Sie mit dieser Struktur auch leicht feststellen können, ob einem Objekt eine Messung aus einer bestimmten Quelle fehlt.
- Sie können mehrere Messungen für ein Objekt speichern (getrennt durch DatePerformed), und mit Max(DatePerformed) können Sie die letzte Messung abrufen.
Dann können Sie eine Ergebnisliste erhalten, wenn Sie dann
tunSELECT ObjectId, SourceId, DatePerformed, MeasurementValue
FROM Measurement
WHERE ObjectId = <your Object>
[AND/OR] SourceId = <your source>