0

目前我正在使用逗号“,”将标签保存为文本,当我需要它们处理和使用某处时,我需要分解字符串,例如“美国,加拿大,犯罪,多伦多,音乐,秋天”。

我在想是否有更好的方法(更少的资源和耗时的友好)来做这个标签,或者这是每个人都使用的唯一解决方案。

编辑:我有一个小项目,在管理员中没有标签管理。我不需要三个表只用于数据库中的标签。我只是在寻找一些更聪明的解决方案,如何从数据库中保存的字符串中保存和分解标签。

4

2 回答 2

2

使用三表方法,真的!真的真的!

否则,您将如何查询带有“usa”标签的项目而不获取带有“usable”标签的项目?LIKE %usa%将返回两者。

有关在 db 中实现标签的三种方法的讨论,请参阅此: http ://www.pui.ch/phred/archives/2005/04/tags-database-schemas.html

编辑回应评论:

逗号,逗号,逗号……

逗号无济于事 无济于事 无济于事。示例标签字段:culture,usa. 你会怎么LIKE做?

您可以按以下格式保存标签:(,culture,usa,声明并以逗号结尾)。

恕我直言,这将带来一些特殊情况,最终会变得比三表方法更复杂。

于 2012-08-15T18:40:13.050 回答
0

假设标签与某些项目(用户、博客等)相关,有一种简单的方法可以做到这一点

Table_Tags 
{ 
   tag_id:index for the table entries,
   item_id, 
   tag_code: usa,
   source: app_system, comment, fb, twitter etc
   <other audit fields>
}

在处理项目/填充项目时,也可以填充标签。

希望这可以帮助

于 2012-08-15T18:38:04.733 回答