Stackoverflow允许发帖者为他们的问题做标签。
现在假设我有一些文章,并想给每个文章加上一些关键字标签。我使用PHP和mysql来实现这一点。
执行此操作时使用的最佳数据库结构是什么?
每篇文章限制5个关键字和不限制关键字的情况是否需要不同的数据库结构?
发布于 2011-07-27 16:03:42
最好是规范化你的数据库。你不会找到更好的了。
文章: article_id,blablabla
标题标签: tag_id,
tags_to_articles: article_id,tag_id
在任何情况下,最好是规范化您的数据库。一直都是。不要担心,如果你改变主意,去做标签的限制。上面的结构总是最好的,因为使用的内存量最小。
发布于 2011-07-27 16:03:48
你会有3张表;
帖子-在这里你可以存储你所有的帖子
标签-您可以在这里存储所有可能的标签
posts_tags -在这里你可以将你的帖子链接到你的标签,例如,它可能只有3列(id,post_id,tag_id)。
5个关键字的限制应该只在接口中实现,数据库应该没有不同。posts_tags表称为连接表,它将两个表链接在一起。这种关系是一对多的,一个帖子可能有很多标签。
发布于 2011-07-27 16:04:35
我想使用链接表创建多对多引用会很好。因此,我创建了三个表:articles、tags和links来存储链接到tag_id的article_id
也许有一天,面向对象的网络数据库会取代数据库,比如mysql --他们可以管理这个任务,而不需要任何额外的结构……:)
https://stackoverflow.com/questions/6841175
复制相似问题