我们有用于发布文章的内部应用程序,使用 SQL Server 2005。
对于任务,我需要在用户发布帖子时保存标签列表。
我是否应该为标签创建一个单独的表,并使用列出它的帖子的 ID 更新标签的 ID 列,使用 XML 列,如
TABLE_TAGS
TAG_NAME varchar, ARTICLE_IDS XML
或者
在 ARTICLE 表本身中创建一列,如
TABLE_ARTICLE
COLUMN_TAGS XML // and store tag, the post is associated with.
当用户点击“标签云”中的特定标签时,我们需要调出带有该标签的帖子,就像任何博客一样。我们还需要嵌套的 SQL 语句来显示更多点击或讨论等的帖子,例如
SELECT ARTICLE_TITLE, ARTICLE_URL FROM
TABLE_ARTICLE
WHERE
ARTICLE_ID =
(SELECT ARTICLE_IDS FROM TABLE_TAGS
WHERE TAG_NAME = @TAGTOFIND)
我不确定如何以及在添加、更新或效率方面的最佳方法是什么。
还有其他提示吗?
谢谢