【发布时间】: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)是否很好。我在数据库设计方面没有太多经验,所以请你告诉我利弊?
【问题讨论】:
-
您希望每个用户能够喜欢多个项目,还是只喜欢一个?
-
那将是多个项目。
标签: database-design data-modeling