【问题标题】:How to design the relations between USER and FAVORITE(or LIKE) models in DB如何设计数据库中 USER 和 FAVORITE(或 LIKE)模型之间的关系
【发布时间】:2010-07-28 06:46:49
【问题描述】:

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

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

这是我的想法,简单点。

一个

表: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)是否很好。我在数据库设计方面没有太多经验,所以请你告诉我利弊?

【问题讨论】:

  • 您希望每个用户能够喜欢多个项目,还是只喜欢一个?
  • 那将是多个项目。

标签: database-design data-modeling


【解决方案1】:

这使用超类型/子类型关系。更多类似的例子和解释see here以及如何create tables

【讨论】:

  • 非常感谢您的图表!非常令人印象深刻!它还提醒我,类别/标签和 Wordpress 中的帖子之间的关系几乎是相同的。我会检查链接。
猜你喜欢
  • 2018-07-11
  • 2013-07-12
  • 2020-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多