如何避免每个用户的表

我面前有一个相当特殊的用例。 有一个大约一千个条目(行)的excel文件,每一行代表了用户应该通过判断的东西。

现在,每个人的条目都是一样的。 应该收集的数据是
a)有多less用户喜欢任何给定的条目
b)给定用户喜欢什么条目

由于应用程序的一部分已经运行,我们有用户帐户,我想为每个用户(!)创build一个表包含所述的Excel信息,添加一行收集投票。 我会创build这些表通过iteratin通过用户列表和创build像“userid_excelentries”表。

我不认为这是优雅的。 我宁愿将excel信息只存储在一个表中,只保存用户的表格“user”。

该应用程序是为了显示从Excel表格(我已经完成网格)创build一个表格,并与checkbox旁边的行。 我如何构造这个? 临时表? 我如何存储每个用户在“用户”表中select的信息,因为我不知道有多lessselect将被先验化?

我有这个疯狂的想法,实际上通过JavaScript处理xls对象,将其序列化成一个散列,并将该散列存储到每个用户的行中的字段…但是我不知道如果这是理智的:o


我们面临的用户数正好是272–这就是为什么我考虑做“每个用户一张桌子”的方法。

您可以在数据库中使用3个表格

users table ----------- id name ... entries table ------------- id name ... user_entries table ------------------ user_id entry_id user_response 

为了获得某个用户(即Tom )喜欢你可以做的所有条目

 select e.name from entries e join user_entries ue on ue.entry_id = e.id join users u on ue.user_id = u.id where u.name = 'tom' and ue.user_response = 'like' 

并获得每个条目喜欢你可以做的

 select e.name, count(ue.user_id) as likes from entries e join user_entries ue on ue.entry_id = e.id where ue.user_response = 'like' group by e.id, e.name