I see that the DB weights (Rocks or Parity) are directly imported as constants in the runtime code. This means that whenever the runtime is built, it will use those constants. Why was this approach taken, since the runtime does not "know" which database is actually used by the hosts?
The database weights used by the runtime is defined in your FRAME System configuration.
type DbWeight = RocksDbWeight;
So in this case, you tell the runtime which database your clients are using, and all the weights will be correct for that database.