Database design 如何在数据库中设计用户和喜爱(或喜欢)模型之间的关系

Database design 如何在数据库中设计用户和喜爱(或喜欢)模型之间的关系,database-design,data-modeling,Database Design,Data Modeling,我有这些模型(表格):用户,照片,书籍,问题等等。 现在我想在网站上添加最喜欢的或喜欢的功能,即用户可以“喜欢”一些照片、书籍或问题,当然,一张照片可以被许多用户喜欢。 所以我想问你如何实现这种事情 显示当前登录用户喜欢的书籍、照片、问题等的页面; 有多少人喜欢这本书 这是我的想法,简单一点 A 表:book\u用户 图书id用户id 表:photos\u用户 照片\u id用户\u id 表:用户问题 问题\u id用户\u id B 表:users\u like object\u id us

我有这些模型(表格):
用户
照片
书籍
问题
等等。 现在我想在网站上添加
最喜欢的
喜欢的
功能,即用户可以“喜欢”一些照片、书籍或问题,当然,一张照片可以被许多用户喜欢。 所以我想问你如何实现这种事情

显示当前登录用户喜欢的书籍、照片、问题等的页面; 有多少人喜欢这本书

这是我的想法,简单一点

A

表:
book\u用户

图书id用户id

表:
photos\u用户

照片\u id用户\u id

表:
用户问题

问题\u id用户\u id

B

表:
users\u like

object\u id user\u id type

列“type”设置为保存“book”、“photo”信息

A还是B

真正困扰我的是,在OOP中,我们试图在持有相同内容的对象之间创建继承关系。但是在关系数据库中,将数据保存在一个表中(方案B)或将它们分开(方案A)是好的。我在数据库设计方面没有太多经验,所以请您告诉我优点和缺点好吗?


这将使用超类型/子类型关系。有关更多类似的示例和解释,以及如何

您希望每个用户都能够喜欢多个项目,还是只喜欢一个项目?这将是多个项目。非常感谢您提供的图表!非常令人印象深刻!它还提醒我,类别/标签和Wordpress中帖子之间的关系几乎是相同的。我将查看链接。