【发布时间】:2011-04-19 06:50:46
【问题描述】:
所以,我想制作一个使用投票系统的应用,有点像 FB 上的“赞”按钮或 Google 上的 +1 按钮。一个问题是我不知道如何设计数据库,以使大量事物中的每一个都有来自每个用户的喜欢和不喜欢,因为对于可以喜欢或不喜欢的每个页面都有一个喜欢/不喜欢,这将是低效的每个用户的列或每个用户的每个页面都有一个喜欢/不喜欢的列。如何让 MySQL 数据库进程喜欢和不喜欢?
【问题讨论】:
标签: mysql
所以,我想制作一个使用投票系统的应用,有点像 FB 上的“赞”按钮或 Google 上的 +1 按钮。一个问题是我不知道如何设计数据库,以使大量事物中的每一个都有来自每个用户的喜欢和不喜欢,因为对于可以喜欢或不喜欢的每个页面都有一个喜欢/不喜欢,这将是低效的每个用户的列或每个用户的每个页面都有一个喜欢/不喜欢的列。如何让 MySQL 数据库进程喜欢和不喜欢?
【问题讨论】:
标签: mysql
您可以使用链接表,而不是创建多个列:
user_id | user_name
--------+----------
1 | alice
2 | bob
3 | charlie
page_id | page_title
--------+--------------
1 | books
2 | food
3 | entertainment
user_id | page_id
--------+--------
1 | 1
1 | 2
2 | 3
3 | 3
链接表将user_id 值与page_id 值相关联。请注意,一个用户可以点赞多个页面,一个页面可以被多个用户点赞。
【讨论】: