微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 逻辑思考一个数据库结构:为用户发布的东西添加“标签” – 一个单独的表或……?

我仍然开始关注整个关系数据库 – thingymawhatsit.无论如何,我是一个PHP程序员,所以我可以做所有那些shabang.我只需要考虑这个场景的最佳方法是什么……

我正在开发一个网站(如果有任何帮助,可以使用CodeIgniter) – 一个用户可以发布内容的网站(想想一个博客风格的东西).每个帖子都必须有标签,任意数量标签,我不能仅限于3或5.这必须是无限的.

那我该怎么办?

>将标签放在同一个数据库表中,即“条目”包含“帖子”,“标题”和“标签”(显然是“id”)
>将标签放在他们自己的表中,并将每个标签链接一个条目(‘s)’id’…?
> ……还有其他什么吗?

只需要知道最好的,最逻辑的结构方式.考虑彼此沟通的表格令人困惑……!

哦,以及任何有任何CodeIgniter片段的人的奖励积分可能会让我继续前进;)

谢谢!

插口

解决方法:

基本上,您需要标签和帖子之间的n-m关系:

>每个帖子都可以有几个标签
>每个标签可以对应几个帖子.

使用关系数据库,这是通过三个表完成的:

>一个“帖子”表,每个帖子包含一行
>“标签”表,每个标签包含一行
>和一个“post_tag”表,其中包含标签和帖子之间每个对应的一行 – 这意味着每个标签有几行;每个帖子有几行

在您的数据库中,您将拥有这三个表:

>发布

> id
>标题
>内容
> ……

> post_tag

> id_post =>这个帖子的外键
> id_tag =>标签的外键

>标签

> id
>名字

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐