每个用户都有自己选择的类别集,那么当用户从一个站点跌跌撞撞地从一个站点到另一个站点时,只有那些选择的类别才会显示给用户。
那么,我的问题是这是一对多的关系吗?比如一个用户id连接到数据库中的多个类别?
那么所有的类别都存储在一个表中?
发布于 2010-12-11 12:56:33
我从未使用过StumbleUpon,但我的猜测是:
它们有一个User表、一个Category表和一个FavoriteCategory表。
Category表有一个id列和一个name列。User表有一个id列、一个email列、一个username列,等等。
FavoriteCategory表是魔术发生的地方!
它有一个userId列和一个categoryId列。每次用户添加新的收藏夹类别时,都会向FavoriteCategory表中添加一条新记录,其中用户的id作为userId,类别的id作为categoryId。只需要一个简单的INNER JOIN就可以在一个查询中获取所有数据。
使用此模式,用户可以拥有无限数量的收藏类别!:]
编辑:尝试阅读有关third normal form的内容。
https://stackoverflow.com/questions/4415035
复制相似问题