【发布时间】:2009-09-26 10:28:23
【问题描述】:
我想进一步澄清在数据库中存储标签的毒性方法——在 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语句来确定它是否存在,对吗?
我们将不胜感激。我最近因为一起黑客和索引而烧伤了我的手指,想开始正确地学习基础知识。
【问题讨论】:
-
在您的第二个解决方案中,您实际上并不需要标签表,只需将标签保存在您的 ItemTag 表中而不是 TagID 中。不过我会使用第一个解决方案。