I think we have to have this information outside the individual dat-files. The same dat-file would be referenced in many different ElementID. The same dat-file would be used in a red brick as in a blue brick, but have different ElementID.
ElementID = DesignID(shape of the brick) + colour of the brick.
And to make it even worse, sometimes the DesignID mean the shape of the brick, and sometimes it means the design of the print on the brick. The same DesignID could be printed on both a 3626c.dat and on 3626b.dat. But they would have uniqe ElementID numbers.
I think it would quickly become a nightmare to sort all this info correct.
And why do we want our own database when all of this is already at Rebrickable or Brickset?
Lets use what is already done and build on that.
ElementID = DesignID(shape of the brick) + colour of the brick.
And to make it even worse, sometimes the DesignID mean the shape of the brick, and sometimes it means the design of the print on the brick. The same DesignID could be printed on both a 3626c.dat and on 3626b.dat. But they would have uniqe ElementID numbers.
I think it would quickly become a nightmare to sort all this info correct.
And why do we want our own database when all of this is already at Rebrickable or Brickset?
Lets use what is already done and build on that.