我正在尝试创建一个数据透视表,以帮助跟踪我的应用程序中的“挑战”。基本上我有一个challenge_task
数据透视表,可以在挑战和任务之间建立关系。当处于挑战中的用户完成我希望能够告诉的任务时,我可以跟踪用户的进度。如何存储多个用户完成挑战任务的最佳方式?
我在数据透视表中考虑添加一个名为json
的{{1}}列来处理此问题,并为完成挑战任务的每个用户存储user_completed
。
所以user_id
看起来像
challenge_task
这是一个好方法吗?或者有什么更适合这种情况吗?
答案 0 :(得分:1)
我建议使用类似这样的数据库结构:
challenge: challenge_id | other data
task: task_id | other data
user: user_id | other data
challenge_task: challenge_task_id | challenge_id | task_id
| possibly more data (such as deadline for completion)
challenge_task_users: challenge_task_id | user_id
| possibly more data (such as status: accepted, in progress, completed)
答案 1 :(得分:0)
如果你想索引你的数据,我不推荐Json,因为Json无法编入索引。 我认为你应该在用户和任务之间建立一个数据透视表,并创建必要的关系。
答案 2 :(得分:0)