【发布时间】:2010-10-03 13:52:18
【问题描述】:
在试图弄清楚如何使用单个 sql 语句 here 标记博客文章时,我想到了以下想法:使用通过 id 引用标签的关系表 tag2post 如下所示:
tags
+-------+-----------+
| tagid | tag |
+-------+-----------+
| 1 | news |
| 2 | top-story |
+-------+-----------+
tag2post
+----+--------+-------+
| id | postid | tagid |
+----+--------+-------+
| 0 | 322 | 1 |
+----+--------+-------+
为什么不只使用下面的模型,你索引标签本身如下?认为标签永远不会重命名,而是添加和删除,这可能是有道理的,对吧?你觉得呢?
tag2post
+----+--------+-------+
| id | postid | tag |
+----+--------+-------+
| 1 | 322 | sun |
+----+--------+-------+
| 2 | 322 | moon |
+----+--------+-------+
| 3 | 4443 | sun |
+----+--------+-------+
| 4 | 2567 | love |
+----+--------+-------+
PS:我保留了一个id,我是为了方便显示最后添加的n个标签...
【问题讨论】:
标签: mysql database tags tagging denormalization