Should a value always be stored in a database using a specific unit (e.g. meters) or should the unit be settable using an additional field or table?
Example 1: Unit defined as part of the field
buildings
-----------------------------
building_id       INT
date_built_utc    DATE
reported_area_m   DOUBLE
Example 2: Unit defined in another field
buildings
-----------------------------
building_id          INT
date_built           DATE
date_built_unit      VARCHAR(50)
reported_area        DOUBLE
reported_area_unit   VARCHAR(50)
I am strongly leaning towards Example 1 because reporting on the values would be easier ( and less error prone ) if there is one standard unit for storing the data. The application layer can easily handle any conversions between units if the need arises.
Which method would be preferred and why?