布尔字段与单独的表

时间:2014-12-07 14:09:18

标签: php mysql table-structure

我有一个关键字表,我将存储可能与事件(活动)相关的所有可能关键字。

我希望允许组织者输入自定义关键字,然后将其上传到我的数据库进行审核 在现有表上创建一个布尔字段(fieldname = active)或者为自定义关键字创建一个单独的表是一个更好的主意吗?

一个重要的注意事项是,我将创建一个工具,允许版主定期从表中提取非活动关键字列表。

逻辑告诉我他们在一般"关键字"表,但性能方面,创建一个单独的表似乎更好。

你的想法是什么?

根据Gordon Linoff的回答

编辑

首先,关键字并非特定于组织者,尽管他们的ID也会被存储(就像你提到的时间一样)。
客户关键字永远不会覆盖内置关键字,因为只有当主持人(我们)认为它很好时才会允许它。

注意:父母也会有更复杂的关键字管理 - 我们在审核时会考虑子元素。目的是创建一个搜索引擎,组织者可以在其中添加关键字,以及用户可以根据这些关键字(或其父关键字)访问活动的位置。

关键字不是特定于组织者,而是特定于活动。但这将通过多对多关系(联结表)进行管理,因此这不是问题。

1 个答案:

答案 0 :(得分:0)

评论太长了。

您的问题并未提供足够的信息来回答此问题。例如,特定于组织者的自定义关键字是?如果是这样,只需要一个布尔值" isactive"国旗是不够的。客户关键字 - 以任何方式 - 都可以覆盖内置关键字吗?

我怀疑" custom"关键字的字段不一定是内置关键字的一部分,例如:

  • 谁创造了它?
  • 什么时候创建?

也许还有一些其他信息,例如谁可以访问它。

只能根据用于访问数据的查询来判断性能。但是,我怀疑将关键字放在一个表中会对性能产生很大影响。