数据库设计 – 是否应始终使用特定单位(例如米)将值存储在数据库中,还是应将该单位设置为附加字段?

是否应始终使用特定单位(例如米)将值存储在数据库中,还是应使用附加字段或表格来设置单位?

示例1:作为字段的一部分定义的单位

buildings
-----------------------------
building_id       INT
date_built_utc    DATE
reported_area_m   DOUBLE

示例2:在另一个字段中定义的单位

buildings
-----------------------------
building_id          INT
date_built           DATE
date_built_unit      VARCHAR(50)
reported_area        DOUBLE
reported_area_unit   VARCHAR(50)

我强烈倾向于示例1,因为如果存在一个用于存储数据的标准单元,则报告值将更容易(并且更不容易出错).如果需要,应用程序层可以轻松处理单元之间的任何转换.

哪种方法更受欢迎?为什么?

最佳答案
我认为允许不止一个单元会引起很多混乱和维护问题.你能想象有人读100而且想着米而不是脚吗?毕竟这就是造成the loss of a NASA orbiter的原因.

编辑:我的意思是,无论如何,如果你可以强制一个单位,那就去做吧.这将防止任何可能混淆单位是什么.

转载注明原文:数据库设计 – 是否应始终使用特定单位(例如米)将值存储在数据库中,还是应将该单位设置为附加字段? - 代码日志