1

我需要在我的数据库中捕获用户的身高和体重。在 UI 中,我需要提供一个选项来指定以厘米和英寸为单位的高度——以及重量、公斤和磅。稍后,当我显示用户时,我只需要以 1 个测量单位显示他们的身高和体重(例如,以厘米或英寸为单位)。

存储这些数据的最佳方式是什么?我是否存储2条身高数据(例如身高值,身高单位)和2条体重数据(例如体重值,体重单位),然后存储用户输入的数据?当我需要以统一的单位显示数据时,我会在 SQL 中进行转换。

或者我应该在存储之前转换数据,以便以后需要显示用户数据时不需要进行对话?

顺便说一句,当我将数据显示给实际用户时,它必须与用户选择的单位相同。

4

2 回答 2

7

想想规范化——除非有令人信服的理由不这样做,否则以一种格式将其存储在一个地方,并在以后始终在代码中使用标准转换。数据库应该存储您的数据,而不是业务规则。

于 2012-05-13T15:00:54.010 回答
0

您肯定只想保存一个高度和一个宽度 - 使用您选择的单位。单位换算是单次乘法,本质上是零成本。

您还可以有一个单位表,并且带有计算字段的简单内部联接将在单个查询中为您提供正确的数值(SELECT 以及 INSERT/UPDATE)

于 2012-05-13T15:00:54.623 回答