我正在创建一个调度程序Web应用程序,将其数据存储在mysql数据库中,现在我正在尝试找出在其中设置表的最佳方法。
它将支持多个用户,我希望它能够处理大量用户群(比方说数千)。
每个用户都会有一些与他们相关的常用数据(用户名,密码,偏好)以及他们的活动。
每个用户可以拥有0到1000个事件,每个事件都有开始时间,结束时间,姓名等信息。
所以会有很多这样的: 用户
另一件事是,我希望每个单独的事件都是可查询的。我希望能够修改_ __用户的事件# 。
如何设置它以使它不是非常复杂或非常慢?
答案 0 :(得分:2)
user table
user_id, username, password, preferences
将user_id作为主键。
event table
event_id, user_id, name, start_time, end_time
将{event_id,user_id}设为主键。
这应该怎么做?如果您期望数千个事件可以重复多个事件但与不同用户相关,则可以创建一个没有user_id的事件表,然后创建一个新表来保存{event_id,user_id}组合。PS:不要以明文形式存储密码;考虑将偏好移至单独的表格。