2012-04-12 75 views
0

我有一个表存储提供的服务,另一个是服务的孩子,并存储实际服务的价格,间隔(1小时,1米等)。
问题是每个孩子的服务都有一些关联的上限(50〜)。
所以我认为service_cap(child_service_id,cap_id,value)会起作用。问题是该值可能是数字(0-)或“无限”或(可用,不可用,视情况而定)。这是不好的数据库设计?

我认为我可以用负值代表这些国家,否则这将是一个数...

有人告诉我,这是EAV,是坏,但我不能想到一个替代的..

回答

0

你可以在service_cap表中有两列,如cap_valuecap_type(选择你自己的更好的名字)。 cap_type可以处理服务可用,不可用,主题或无限的逻辑。你可以有更多的状态选项。然后,您可以限制cap_value只有某些值为。

因此,无限制和不可用应该有一个空/空值为cap_type。其他人可以存储所需的帽子。

+0

区间是在child_service,它与能力没有关系。它就像是如果你买这个包1h你将拥有这些能力..但有能力它不是真/假..它可以是数字或无限的,或视情况而定 – GorillaApe 2012-04-12 16:23:25

+0

请查看我上面的编辑并让我知道是否有帮助,否则您可能需要澄清一些原始问题 – jheep 2012-04-12 16:32:10