MySQL:如何存储身高/体重信息?

时间:2012-05-13 14:57:34

标签: mysql database database-design

我需要在数据库中捕获用户的身高和体重。在UI中,我需要提供一个选项来指定以厘米和英寸为单位的高度 - 以及重量,千克和磅。稍后,当我显示用户时,我需要仅以1个测量单位显示它们的高度和重量(例如,所有这些都在cms或ins中)。

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

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

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

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:0)

你肯定只想保存一个高度而只保留一个宽度 - 使用你选择的单位。单位转换是单个乘法,实质上是零成本。

你也可以有一个单位表,一个带有计算字段的简单内连接将在单个查询中提供正确的数值(SELECT和INSERT / UPDATE)