我有一个类似SO,Wordpress等的网站,您可以在该网站上发布信息,而您可以针对它发布(可选)标签。
有什么通用的数据库架构可以处理此问题?我假设它是一个很多的结构,有三个表。
有人有想法么?
三表多对多结构应该很好。
例如。 Posts, PostsToTags(post_id,tag_id), Tags
Posts, PostsToTags(post_id,tag_id), Tags
关键是索引。确保对PostsToTags表进行双向索引(post_id,tag_id和tag_id,post_id),并且如果读取性能至关重要,则可以引入索引视图(可以为您提供post_name,tag_name)
post_id,tag_id
tag_id,post_id
当然,您还将需要在帖子和标签上建立索引。