现在一个项目的数据库设计,遇到这样的一个问题:
如需要记录一个实验数据,如一个字段为:血液容量,但是可能有三种记录方式
第一种 血液容量为:20
第二种 血液容量为:20.23±0.58
第三种 血液容量为:19.65~20.81
但是,由于需要根据数据录入者来确定录入方式,所以上三种录入情况都为合法录入。
并且,在数据库查询时候,也要根据按照用户当初的录入方式显示。
那么,在数据库中该如何设置字段呢?
我们目前考虑到两种方法:第一种 设置为一个字段:varchar类型,对数据当作文本来处理保存;
优点:可以直接保存数据,便于查询。
缺点:要进行数据统计时候,(如需要统计血液容量小于20.00的所有数据),则很难实现。在统计分析的时候,先用函数将文本型的数据转换为数值型的数据,然后再对转换后的数据进行统计分析。但这个方法可能存在一个问题:就是在转换过程中,很可能会出现转换错误,如很长的小数会被截断。第二种 设置为三个字段,分别为:保存方式,第一个数据,第二个数据;
如,上这个例子,血液容量为:20.23±0.58,记录为:±方式、20.23、0.58
优点:可以直接保存数据,也便于统计分析。
 缺点:每个数据项都分成3个字段来表示,这样100个字段就变成了300个字段,对数据库的设计比较混乱,而且查询的字段增加很多,查询性能会受到很大影响。请教,还可以有更好的方法吗?谢谢