我已经开始在 php 中开发一个待办事项列表应用程序。我之前没有研究过关系数据库,所以我对数据库的结构感到困惑。我想保持简单。
这是我的计划:
用户 U_id、用户名、密码、电子邮件
任务 t_id、task_name、描述、u_id 参考用户表
列出 l_id、list_name、?
我困惑的主要原因是
如何连接列表和任务?//每个用户将能够创建多个列表,例如家庭、个人、办公室、家庭工作等。
连接用户和列表的最佳方式是什么?//每个用户可以有多个任务列表,那么如何管理。
我已经开始在 php 中开发一个待办事项列表应用程序。我之前没有研究过关系数据库,所以我对数据库的结构感到困惑。我想保持简单。
这是我的计划:
用户 U_id、用户名、密码、电子邮件
任务 t_id、task_name、描述、u_id 参考用户表
列出 l_id、list_name、?
我困惑的主要原因是
如何连接列表和任务?//每个用户将能够创建多个列表,例如家庭、个人、办公室、家庭工作等。
连接用户和列表的最佳方式是什么?//每个用户可以有多个任务列表,那么如何管理。
n:m 关系的示例:
list_task_relation: list_id, task_id
要了解列表中的所有任务,如果任务可以属于一个或多个列表,则需要一个关系表。
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