Hvis du ser på dit første udsagn
"...egenskaber for et enkelt objekt er målt via forskellige kilder ..."
du kan faktisk med det samme se, at du sikkert leder efter 3 borde. Kilden Bordet du foreslår ser fint ud. Jeg foreslår, at objekt tabel dog ligner mere
ObjectId
ObjectName
ObjectDescription
... other object details (except measurement)
Din tredje tabel er din måling bord, som kunne tænkes at se sådan ud
MeasurementId
ObjectId - reference to Object table
SourceId - reference to Source table
DatePerformed
MeasurementValue
Success
Notes etc
Fordelene her er
- At du ikke behøver at have en bestemt kolonne i dit Objekt for en bestemt kilde . Dette bliver meget svært at vedligeholde, hvis man pludselig har flere kilder.
- Ikke alle Objekter skal bruge en værdi for hver kilde , selvom du med denne struktur også nemt kan afgøre, om et objekt mangler mål fra en bestemt kilde.
- Du kan have flere målinger gemt for et objekt (adskilt via DatePerformed), og ved at bruge Max(DatePerformed) kan du hente den seneste måling.
Så kan du få en liste over resultater, hvis du så gør
SELECT ObjectId, SourceId, DatePerformed, MeasurementValue
FROM Measurement
WHERE ObjectId = <your Object>
[AND/OR] SourceId = <your source>