【发布时间】:2012-02-24 10:53:01
【问题描述】:
数据库设计新手,我想知道如何有效地设计 Facebook 喜欢的东西,同时考虑到未来的可扩展性。
假设您有 3 个表:用户、照片和相册。 假设用户可以喜欢照片或相册。
我应该为两种类型的喜欢使用 1 个表格吗? 这可能意味着它会有一个 user_id、like_type(0-photo, 1-album etc)、like_value(无论是什么内容的 id 值,无论是 photo_id 还是 album_id)?
或者每个喜欢有 2 个不同的表格(例如 photos_likes 和 albums_likes)? 仅包含 user_id 和 photo/album_id
无论我们将来添加更多对象(视频、cmets、笔记等)还是获得大量点赞,我都想确保数据库设计是干净的和半规模证明的。
谢谢!
【问题讨论】:
标签: database facebook database-design