加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 在数据库中存储标签.存储标签一次或多次?

发布时间:2020-12-12 07:05:15 所属栏目:MsSql教程 来源:网络整理
导读:我想对在数据库中存储标签的toxi方法进行更多的澄清 – 在SO的其他地方提到过. 数据库架构是: Table: ItemColumns: ItemID,Title,ContentTable: TagColumns: TagID,TitleTable: ItemTagColumns: ItemID,TagID 这可能是一个愚蠢的问题(但我不知道答案)……表
我想对在数据库中存储标签的toxi方法进行更多的澄清 – 在SO的其他地方提到过.

数据库架构是:

Table: Item
Columns: ItemID,Title,Content

Table: Tag
Columns: TagID,Title

Table: ItemTag
Columns: ItemID,TagID

这可能是一个愚蠢的问题(但我不知道答案)……表标签中的每个条目都应该有一个唯一的标题.即我只存储一次标签或每次使用时都存储它?

为了说明,我最终应该得到以下两个表中的哪一个:

TagID     Title
1         Fish
2         Cat
3         Dog

要么

TagID     Title
1         Fish
2         Fish
3         Cat
4         Fish
5         Dog
6         Cat

如果使用第一个表,在输入标签之前我首先要运行和sql语句来查明它是否存在,对吗?

任何帮助将不胜感激.最近由于黑客攻击和索引,我的手指被烧伤,想要开始正确的基础知识.

解决方法

基本的是你需要存储像你在第一种情况下显示的标签.检查标签是否存在是好的(因为在现有标签的第二种情况下,您的数据库将返回与标签的外观一样多的行),并且适用于按标签检索项目(选择项目ID一个标签ID比选择项目更好) id由一组具有相同代表性含义的tag_id组成.

如果你因为索引而烧坏了手指 – 你应该总是检查查询是如何执行的(对于mysql,它是EXPLAIN / DESCRIBE SELECT).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读