是否应始终使用特定单位(例如米)将值存储在数据库中,还是应使用附加字段或表格来设置单位?
示例1:作为字段的一部分定义的单位
buildings
-----------------------------
building_id INT
date_built_utc DATE
reported_area_m DOUBLE
Run Code Online (Sandbox Code Playgroud)
示例2:在另一个字段中定义的单位
buildings
-----------------------------
building_id INT
date_built DATE
date_built_unit VARCHAR(50)
reported_area DOUBLE
reported_area_unit VARCHAR(50)
Run Code Online (Sandbox Code Playgroud)
我强烈倾向于示例1,因为如果存在一个用于存储数据的标准单元,则报告值将更容易(并且更不容易出错).如果需要,应用程序层可以轻松处理单元之间的任何转换.
哪种方法更受欢迎?为什么?
我认为允许不止一个单元会引起很多混乱和维护问题.你能想象有人读100而且想着米而不是脚吗?毕竟,这就是造成美国宇航局轨道器失效的原因.
编辑:我的意思是,无论如何,如果你可以强制一个单位,那就去做吧.这将防止任何可能混淆单位是什么.