像按钮一样的SQL

时间:2011-04-18 22:46:27

标签: mysql

所以,我想创建一个使用投票系统的应用程序,如FB上的类似按钮或Google上的+1按钮。一个问题是我不知道如何设计数据库,使得每个用户都喜欢和不喜欢每个用户,因为对于每个可能喜欢或不喜欢喜欢/不喜欢的页面来说效率低下每个用户或每个用户的列,每个页面都有一个喜欢/不喜欢的列。如何使MySQL数据库处理喜欢和不喜欢?

1 个答案:

答案 0 :(得分:3)

您可以使用链接表

,而不是创建多个列

用户表

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值相关联。请注意,一个用户可以使用多个页面,并且一个页面可以被多个用户所喜欢。