为调度程序创建合适的数据库设置

时间:2011-06-10 03:50:41

标签: mysql

我正在创建一个调度程序Web应用程序,将其数据存储在mysql数据库中,现在我正在尝试找出在其中设置表的最佳方法。

它将支持多个用户,我希望它能够处理大量用户群(比方说数千)。

每个用户都会有一些与他们相关的常用数据(用户名,密码,偏好)以及他们的活动。

每个用户可以拥有0到1000个事件,每个事件都有开始时间,结束时间,姓名等信息。

所以会有很多这样的: 用户

  • 用户名
  • 密码
  • 偏好
  • 事件
    • 名称
    • 开始时间
    • 结束时间

另一件事是,我希望每个单独的事件都是可查询的。我希望能够修改_ __用户的事件#

如何设置它以使它不是非常复杂或非常慢?

1 个答案:

答案 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:不要以明文形式存储密码;考虑将偏好移至单独的表格。