我只需要一些关于使用标签的建议。我现在在网站上工作,用户可以发布关于自己的视频,图像,音频和信息。
我之前从未在普通网站上使用过标签(在wordpress,youtube等上使用过它们),所以我需要一些建议来开始设计我的数据库。
当您有多个类别时,使用标记的常用方法是什么?我是否必须为每个类别添加标签? 例如:
Table:
gallery
gallery_id
image
tags
Table
audio
audio_id
title
link
audio_tags
Etc...
或者我只制作一个名为“tags”的表及其中的所有标签? 喜欢: 表格标签:
tag_id
tag
提前致谢。
答案 0 :(得分:1)
由您决定如何塑造应用程序。如果您希望在图库和音频之间共享标记,请使用单个表和两个多对多参考表(或具有多态性的参考表)。
答案 1 :(得分:0)
从技术上讲,最好的格式是你首先描述的格式,但是如果要实现第二种格式,则需要一个额外的字段 - 即类别字段。但是,简单地在每个表格中添加标记字段会更好更容易 - 更好的可读性以及在您的网站中实现它时的用途。
希望有所帮助。
答案 2 :(得分:0)
这取决于您是否希望在多个对象之间共享标签。如果你想将它分开,那么我会为它们制作单独的标签表。如果没有,我将拥有相同的标签表,并为标签将具有的每个关系使用不同的表,所以
分开:
gallery
...
gallery_tags
tag_id
tag
tags_to_gallery
tag_id
gallery_id
..same for audio..
不分开:
gallery
...
audio
...
tags
tag_id
tag
gallery_to_tag
gallery_id
tag_id
audio_to_tag
audio_id
tag_id
您也可以使用一个ploymorphic表执行此操作。用一张像这样的表:
tag_relations
tag_id
object_id
object_table