标记系统设计问题

时间:2011-08-04 11:34:47

标签: database database-design application-design

我正在新闻网站上工作,我正在考虑实施一个标记系统(类似于这个网站),您可以根据不同的类别对新闻进行分类,例如:newscategory(经济,政治等) 。)还有诸如它所写的语言和新闻文章的类型(社论,专题报道等)。

我应该如何区分这些不同的类别?我应该为每个类别类型都有一个标签表,还是应该将所有内容保存在一个表中并使用标签前缀,例如“language:en”,“category:economy”?第二个解决方案似乎更灵活,因为我可以通过附加前缀添加更多的护理类型。然而,第一个解决方案感觉更有条理,更容易使用。

另外,我想知道你如何确定何时应该将某些东西表示为标签,或者什么时候它应该是数据库中的列值/记录(例如,该语言应该是标签还是我的“新闻”中有语言列?表?)。我不确定在哪里划线。

由于

1 个答案:

答案 0 :(得分:1)

是否可以说标签本身可以在层次结构中排序?如果是这样,只需在parent_tag_id表中添加tags

id  name          parent_tag_id
-------------------------------
1   language      null
2   english       1
3   french        1
4   newscategory  null
5   economy       4
6   politics      4

您可能会将列视为静态字段,将行视为动态。保持列数低。语言可能是表中所有字段的列,应该与语言相关联。