2014-12-07 52 views
0

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

我想允许组织者输入自定义关键字,并将其上传到我的数据库进行审核。
在现有表(fieldname = active)上创建布尔字段还是为自定义关键字完全创建单独的表是否更好?

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

逻辑告诉我,他们属于一个一般的“关键字”表,但表现明智,看起来更好创建一个单独的表。

你的想法是什么?

编辑基于戈登·利诺夫的答案:

首先,关键字是不特定的组织,尽管他们的ID将被存储,以及(就像你提到它的时候)。
客户关键字永远不能覆盖内置关键字,因为只有当主持人(我们)认为它是好的时才会允许它。

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

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

+0

你能解释一下“不活动的关键字”是什么意思吗?你的意思是一个已被组织者禁用的关键字?或者是表中的关键字,但当前没有链接到任何事件? – Phil 2014-12-07 14:28:33

+0

这是一个正在等待审核(待定)的关键字。 – Trace 2014-12-07 14:33:20

回答

0

这是太长的评论。

您提问的问题未提供足够的信息来回答此问题。例如,给定组织者特定的自定义关键字?如果是这样,仅仅有一个布尔型的“isactive”标志是不够的。客户关键字可以以任何方式覆盖内置关键字吗?

我怀疑是“定制”关键词有不自然的内置关键字的一部分领域,如:

  • 谁创造的?
  • 创建时间?

也许还有一些其他信息,比如谁有权访问它。

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

+0

我会在这个评论中回答。首先,不,关键字不是特定于组织者的,尽管他们的ID也将被存储(就像您提及它的时间一样)。客户关键字永远不能覆盖内置关键字,因为只有当主持人(我们)认为它是好的时才允许它。还会有一个更复杂的关键字管理与父母 - 孩子的元素,我们将在考虑时考虑。其目的是创建一个搜索引擎,组织者可以添加关键字,用户可以根据这些关键字(或其父关键字)访问活动。 – Trace 2014-12-07 14:18:28

+0

而关键字并非特定于组织者,而是针对某项活动特定的。但是这将通过多对多关系(联结表)进行管理,所以这不是问题。 – Trace 2014-12-07 14:39:30