根据你的描述,这听起来像
factor
是一个
subgroup
有一个或多个
s、 对我来说,这意味着
interval
或
categorical
,这意味着
single table inheritance
可能是正常的。
subgroups
------------------------------
id | measure | value | subject
------------------------------
41 | count | 125 | 13
42 | count | 204 | 13
factors
id | type | factor | category | interval_min | interval_max | subgroup
-----------------------------------------------------------------------------
68 | interval | age | NULL | 18 | 24 | 13
69 | categorical | sex | male | NULL | NULL | 13
在这个例子中,41亚组有两个因素,年龄18-24岁和性别男性。
也可能是STI在这里杀伤力过大,在这种情况下,你会分裂
因素
categorical_factors
和
interval_factors
,一个子组可以有零个或多个。
就我所知,使用STI的复杂性主要取决于您使用的ORM。Rails/ActiveRecord有很好的支持,其他框架各不相同。
希望这有帮助!