感觉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 |
那么这个有怎么查出文章的详细信息呢?
黄舟2017-04-17 15:57:13
一般に、テーブルは次のように構築されます。詳細な情報をクエリする場合は、まず記事 ID に従って記事テーブル内の記事に関する情報を確認し、次にタグ テーブルと記事を結合します。クエリする記事 ID に応じたタグ関連付けテーブルを出力し、データにラベルを付け、最後に 2 つの配列をマージします。
ちょっとした提案: 記事テーブルを水平に分割して、コンテンツ フィールドを取り出して別のテーブルを作成し、データ量が大きい場合は、これを使用する方が効率的です。
これらは私の個人的な意見です。何か間違っている場合は、専門家に指摘していただければ幸いです
大家讲道理2017-04-17 15:57:13
私はたまたまブログを書いていて、この問題にも遭遇しました。3 つのテーブルが関連しており、SQL ステートメントで問題が発生しました。
SQL ステートメントについて助けてください