My boss is planning on a new db and wants to support multilingual data in this manner:
LocalizedDescs (Guid / LanguageGuid being the primary key)
The way it works is that every table is having a
Guid field, used as the primary key. The
Guid field, in turn, corresponds to any guid used in tables throughout the db, making it a parent table to every table in the system.
In rare cases where a table record needs another localized resource, an additional field is used in the table that will also point to a
LocalizedDesc record. As an example, the
Products table has a
DetailedDescGuid that is meant to contain a throughout, longer description of a product. This way we have both a summary description and a detailed description, both of which can be localized to different languages.
Originally, we were supposed to have a
LocalizedDescGuid field in each table needing a description. But my boss claims the db indexes will be smaller if we do this the other way.
Design-wise, what is this solution's worth? Was it better when it used an additional field in each table? Or are we doing this all wrong?