-2

我已经开始在 php 中开发一个待办事项列表应用程序。我之前没有研究过关系数据库,所以我对数据库的结构感到困惑。我想保持简单。

这是我的计划:

  • 用户 U_id、用户名、密码、电子邮件

  • 任务 t_id、task_name、描述、u_id 参考用户表

  • 列出 l_id、list_name、?

我困惑的主要原因是

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

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

4

3 回答 3

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

n:m 关系的示例:

list_task_relation: list_id, task_id

于 2013-05-05T13:37:06.783 回答
0

保留 U_id 是您的Lists表。

此外,在您的任务表中保留一个 l_id

在继续之前阅读MySQL 教程。

于 2013-05-05T14:22:24.687 回答
0

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

  • Users U_id, username, password, email //一个用户可以有零个或一个或多个列表

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

  • Lists 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
于 2013-05-05T14:24:01.687 回答