如何设计数据库中 USER 和 FAVORITE(或 LIKE)模型之间的关系
Posted
技术标签:
【中文标题】如何设计数据库中 USER 和 FAVORITE(或 LIKE)模型之间的关系【英文标题】:How to design the relations between USER and FAVORITE(or LIKE) models in DB 【发布时间】:2010-07-28 06:46:49 【问题描述】:我有这些模型(表):USER
、PHOTO
、BOOK
、QUESTION
等。
现在我想在网站上添加favorite
或like
功能,即用户可以“喜欢”一些照片或书籍或问题,当然一张照片可以被许多用户喜欢。
所以我想问你如何实现这种东西。
显示当前登录用户喜欢的书籍、照片、问题等的页面; 有多少人喜欢这本书。
这是我的想法,简单点。
一个
表:books_users
book_id user_id
表:photos_users
photo_id user_id
表:questions_users
question_id user_id
B
表:users_likes
object_id user_id type
“类型”列设置为保存“书”、“照片”信息。
A 还是 B?
真正困扰我的是在 OOP 中,我们试图在拥有相同内容的对象之间创建继承关系。但是在关系数据库中,将事物保存在一个表中(计划 B)或将它们分开(计划 A)是否很好。我在数据库设计方面没有太多经验,所以请你告诉我利弊?
【问题讨论】:
您希望每个用户能够喜欢多个项目,还是只喜欢一个? 那将是多个项目。 【参考方案1】:这使用超类型/子类型关系。更多类似的例子和解释see here以及如何create tables。
【讨论】:
非常感谢您的图表!非常令人印象深刻!它还提醒我,类别/标签和 Wordpress 中的帖子之间的关系几乎是相同的。我会检查链接。以上是关于如何设计数据库中 USER 和 FAVORITE(或 LIKE)模型之间的关系的主要内容,如果未能解决你的问题,请参考以下文章