[Data-modeling] Denormalised data
Scott Meyer
sm at metaweb.com
Wed Apr 8 21:12:36 UTC 2009
Christopher R. Maden wrote:
> Scott Meyer wrote:
>> Since /cvg/game_version is a CVT, it seems like the reasonable thing
>> to do to represent an "original version" is to create a new property,
>> /cvg/computer_videogame/original_version, which also refers to something
>> of type /cvg/game_version. Typically this would refer to a cvt which is
>> also referred to by by the /cvg/computer_videogame/versions property
>> so the cost is one extra primitive multiplied by 17,000 video games.
>
> Except that it is impossible in the client and exceedingly difficult in
> MQL to actually connect to an existing CVT; in practice, an “original
> version” property would end up redundant with one of the versions anyway.
Whether the CVT is shared or just contains duplicate data doesn't
really make that much difference aside from storage, the future direction
for CVTs is to specify them by value and allow the implementation to
have identical values share identities.
The important bit is that the representation of "version" is
always the same and that version-valued properties are clearly
defined.
While "exceedingly difficult" may be a bit of a stretch, I
agree that actually doing the conversion may be a bit of a
bother:
foreach game
extract original version data
add that to versions via create unless exists
use the guid returned from the previous step
as the new value for original version.
-Scott
More information about the Data-modeling
mailing list