感觉segmentfault站点设计的标签还是很不错的,正在写一个博客平台,想做个文章标签,现在表设计如下:
文章表(articles)
id | title | tags |
---|---|---|
1 | xxx | 1,3,4 |
2 | aaa | 2,4 |
3 | bbb | 3,5 |
标签表(tags)
id | name |
---|---|
1 | php |
2 | javascript |
3 | mysql |
4 | css3 |
5 | html5 |
假如信息结构如上面,那么怎么取出每篇文章的详细信息呢?上面的表设计可以实现吗?
我查了下本站的相关问题,有人说再加入第三章标签文章关联表,如下面
标签关联表(tag_links) tid
是tags
表id
,aid
是文章articles
表id
id | tid | aid |
---|---|---|
1 | 1 | 1 |
2 | 3 | 1 |
2 | 4 | 1 |
那么这个有怎么查出文章的详细信息呢?
一般的按照下面的方式来建表的,查询详细信息的话,你可以先根据文章的id文章表里面查文章的一些信息,然后再根据文章id去标签表和文章标签关联表join查询出,标签数据,最后把这两个数组合并下就好了。
有点小小的建议:你可以把文章表进行水平分割下,你可以把内容字段拿出来单独做一张表,用id进行关键,这样做在数据量很大的时候,效率比较好,
这些是我的个人看法,有不对的地方,还望大神们指点