用户收藏系统的数据库如何设计?

最近设计一个用户收藏的数据库结构。。

比如一个用户可以收藏文章。也可以收藏一张图片。也可以收藏一个视频。也可以收藏一个音频

我已经用了一个用户表,一个文章的表。一个视频的表,一个音频的表。

我要记录一个用户收藏的所有信息。

方案1:
建立3个一对多的关系表。分别是用户收藏的文章表。用户收藏的视频表,用户收藏的音频表。

方案2:
就用一个表格表,增加一个字段表示的收藏的类型即可。这个设计虽然表少了。但是却没有办法设置外键的依赖。。

我应该用那种方案呢??
通常选择那种方案合理些呢??

求大神指教。。

阅读 14.3k
2 个回答

我这边用的是第一种方案,并且可以设置外键依赖。

因为我这边的数据都分主表和副表的。

主表包含公共属性:标题,栏目,点击等等。

副表就分:文章表,视频表,音频表等等,通过id和主表关联。

收藏的id都是主表中的id。

用方案2.
假设用了方案1,如果后面还有其他的收藏类型,得一直建表。那么外键的依赖 场景是什么呢。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进