为我的待办事项列表应用程序创建表

时间:2013-05-05 13:26:58

标签: php mysql sql phpmyadmin

我已经开始在php中处理todo列表应用程序了。我之前没有在关系数据库上工作过,所以我对数据库的结构感到困惑。我想保持简单。

这是我的计划:

  • 用户的 U_ID, 用户名, 密码, 电子邮件

  • 任务 T_ID, 任务名称, 描述, u_id引用用户表

  • 解释 盖, 列表名称,

我混淆的主要原因是

  1. 如何连接列表和任务? //每个用户都可以创建多个列表,例如家庭,个人,办公室,家庭工作等。

  2. 连接用户和列表的最佳方式是什么? //每个用户可以有多个具有多个任务的列表,因此如何管理它。

3 个答案:

答案 0 :(得分:0)

  1. n:m关系表:哪个列表与任务相关联
  2. 每个列表都可以有一个u_Id字段。当多个用户可以拥有相同的列表时,请执行n:m relation,
  3. n:m关系的例子:

    list_task_relation:list_id,task_id

答案 1 :(得分:0)

保持U_id是您的列表表。

另外,在 Tasks 表中保留l_id

在你前进之前阅读MySQL Tutorial

答案 2 :(得分:0)

要了解列表中的所有任务,如果任务可以属于一个或多个列表,则需要关系表。

  • 用户U_id,用户名,密码,电子邮件//用户可以拥有零个或一个或多个列表

  • 任务t_id,task_name,description //任务可以属于零个或一个或多个列表

  • 列出L_id,list_name,U_id //列表可以属于一个且只有一个用户

  • Lists_Tasks t_id,L_id​​ //任务可以属于一个或多个列表

将所有任务组成一个列表

SELECT T.* FROM Tasks AS T
JOIN Lists_Tasks AS L_T ON T.t_id = L_T.t_id
WHERE L_T.l_id = id_from_the_list

获取用户的所有列表

SELECT * FROM Lists WHERE U_id = id_of_user