我想跟踪与主题表中的行相关的各种属性,但我不确定是否应该在主题表中创建列,或者创建属性表并在其自己的行中插入每个属性。 (或者可能是我没想到的第三种选择?)
例如:
properties
----------------
prop_id
type (representing boolean,range,text, or a date)
title
我认为在主表中引用它的两种方式是:
topic
----------------
topic_id
title
prop_id1
prop_id2
prop_id3
....
或为每个行上有一个属性的数据创建一个单独的表:
properties_data
----------------
topic_id
prop_id
bool
range_min
range_max
text
date
在我看来,第一种方法会更有效,但我希望每个主题可能使用或不使用~30-40个属性,因此我不确定使用哪种方法。
是否有一种标准的方法来完成这项任务,不同类型的数据都与主表行有关(理论上会同时查找)?
答案 0 :(得分:2)
如果您要为每个主题添加可变数量的属性,那么您应该使用上面标识的后一个选项。这将为您提供最大的灵活性,如果您向数据库添加适当的索引,性能命中应该可以忽略不计。