use*_*637 4 database database-design facebook
数据库设计的新手,我想知道如何有效地设计像Facebook一样的东西,考虑到未来的可扩展性.
假设你有3个表:用户,照片和专辑.假设用户可以喜欢照片或相册.
我应该为两种类型的喜欢使用1张桌子吗? 这可能意味着它会有一个user_id,like_type(0-photo,1-album等),like_value(无论是什么内容的id值,无论是photo_id还是album_id)?
或者每个喜欢有2个不同的表格(例如photos_likes和albums_likes)?它只包含user_id和photo/album_id
我想确保数据库设计是干净和半规模的,无论我们将来添加更多的对象(视频,评论,注释等)还是有很多喜欢.
谢谢!