SQL:设计用于存储议程/日程表的表

时间:2013-07-31 22:53:21

标签: mysql sql database-design

我尝试创建一个类似于Google日历的每周(周一至周日)日程/日程,使用mySQL,用户可以填写并显示某些日期某些任务的日程安排。小时间隔。例如,用户任务可以作为

存储在计划中

用户名|一天|时间|任务

Jimbob,周二,13:00,吃超级美味的意大利面。

我想知道设计表格的最佳方法是什么?

我可以为一周中的每一天创建一个表,或者有一个大表来存储一周中任何一天的信息。但是,如果我有一百万用户,那么一个大表会成为性能问题吗?

另外,对于表格的字段,我计划每行只存储一行任务,但我也可以存储当天每小时的所有任务。后者可能会导致很多空值并占用更多内存,但如果用户填写了很多日历,那么它似乎可以减少很多行和冗余的用户名条目。它还可以更轻松地打印出计划。有什么想法吗?

用户名|小时|任务|

用户名|上午12点|任务1 |凌晨1点Task2 |凌晨2点....

感谢。

1 个答案:

答案 0 :(得分:0)

执行此操作的最佳方式imo将有两个表:一个用于用户,另一个用于任务

用户将拥有用户ID,用户名以及其他任何内容。

任务将包含日期和时间,任务描述,任务ID以及任务所在用户的用户ID。您不应该创建一个存储一周中每一天的表,因为您只需查询任务的日期。这就是你应该如何设计表格。实际的日历和查询应该用PHP或任何你想用它来完成。