我正在开发一个存储大量测量数据的Web应用程序。
这些措施有不同的类型,如温度,流量,重量,浓度......
我目前正在尝试实施度量单位管理器,让应用程序的用户选择他们想要的每个度量单位。
数据在多个表中:
表1:weightMeasure1 lengthMeasure1 TemperatureMeasure1
表2:weightMeasure2 lengthMeasure2 FlowMeasure2
表3:flowMeasure3
用户可以独立地为每个度量选择他们想要的单位。所以它不会是公制/英制选择。
所有数据都将保存在数据库中的 SI或SI派生单元中。因为我在我的应用程序中使用 PHP ,所以我决定使用 Zend_Measure 来处理转换(在询问此question之后)。
这是我迄今为止最好的解决方案:
我将创建一个属性表:
property:property_id name column unit
table2_lengthMeasure2
SQUARE_METER
,KILOGRAM_PER_HOUR
,... Zend Framework API中提供了更多详细信息。我将创建一个 user_property_unit 表来管理用户首选项:
user_property_unit:user_id property_id unit
SQUARE_METER
表的单位列中的property
和SQUARE_FOOT
user_property_unit
可以是table name + column name
我在这个解决方案中遇到的问题是:
property
的concat对我来说似乎不对...... 感谢您的帮助!!
UPDATE 是否有任何一个为什么可以帮助我,甚至有一些提示?
答案 0 :(得分:1)
您希望为PROPERTIES提供单独的表,并使用单独的链接表TABLECOLUMNPROPERTY,使特定属性成为列的属性。
PROPERTIES
propid
name
unitid FK references UNITS table
TCP
(tablename,columnname) composite PK
propid
UNITS
unitid
etc etc