我继承了一个大型(SQLServer)数据库,其中包含数百个列,这些列代表一件事或另一件事的数量。这些值的单位(例如“加仑”,“英寸”等)存储在扩展属性的MS_Description字段中。我想知道是否有更好的方法来存储此信息。我认为这对于文档目的来说是很好的,但是很难基于此数据进行可靠的单位转换计算。目前,我还没有准备好进行侵入性更改,但是如果有机会,我在这方面建议的最佳实践是什么?在我头顶上方的选项可能包括:
- 将列名称更改为包含的单位(例如,“ TotalVolumeInGallons”。这将使该信息更容易获得,但对我而言似乎仍然很薄弱。)
- 添加一个单独的“单位”列以对应于每个“金额”列(此列可以是nvarchar,也可以是一个单独的“单位”表的外键,这可能使计算单位转换更加容易。许多列可以使我的数据库大小增加一倍-拥有非常冗余的数据。)
- 在扩展属性中专门为单位创建一个新字段。(不幸的是,我认为这不是Units表的外键。)
- 我还有其他想法要忽略吗?
更新:阅读@Todd Everett的答案后,我想到了一个可能的解决方案,所以我将继续回答自己的问题。(见下文)