StumbleUpon 如何将其类别存储在数据库中?
每个用户都有自己的一组选择的类别,那么当用户从一个网站到另一个网站时,只有那些选择的类别才会显示给用户。
所以,我的问题是这是一对多的关系吗?就像一个用户 ID 连接到数据库中的多个类别?
那么所有的类别都存储在一张表中吗?
Each user have their own set of chosen categories, then only those chosen categories will be shown to the user when they stumble from site to site.
So, my question is this a one to many relationship? Like one user id is connected to many categories in the database?
Then all the categories is stored in one table?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我从未使用过 StumbleUpon,但这是我的猜测:
它们有一个
User
表、一个Category
表和一个FavoriteCategory
表。Category
表具有一个id
列和一个name
列。 具有id
列、email
列、username
列等。User
表 FavoriteCategory 表就是神奇发生的地方!它有一个
userId
列和一个categoryId
列。每次用户添加新的收藏夹类别时,FavoriteCategory
表中都会添加一条新记录,其中用户的id
为userId
,类别的id
作为categoryId
。只需一个简单的INNER JOIN
即可在单个查询中获取所有数据。通过此架构,用户可以拥有无限数量的喜爱类别! :]
编辑:尝试阅读第三范式。
I've never used StumbleUpon, but here is my guess:
They have a
User
table, aCategory
table, and aFavoriteCategory
table.The
Category
table has anid
column and aname
column. TheUser
table has anid
column, anemail
column, ausername
column, etc.The
FavoriteCategory
table is where the magic happens!It has a
userId
column and acategoryId
column. Every time a user adds a new favorite category, a new record is added to theFavoriteCategory
table with the user'sid
as theuserId
and the category'sid
as thecategoryId
. All it takes is a simpleINNER JOIN
to grab all the data in a single query.With this schema, users can have an unlimited number of favorite categories! :]
Edit: Try reading about third normal form.