-2

PHP で todo リスト アプリケーションの作業を開始しました。以前にリレーショナル データベースに取り組んだことがないので、データベースの構造について混乱しています。シンプルに保ちたい。

これは私の計画です:

  • ユーザー U_id、ユーザー名、パスワード、電子メール

  • タスク t_id、タスク名、説明、u_id 参照ユーザー テーブル

  • リスト l_id、list_name、?

私の混乱の主な原因は

  1. リストとタスクを接続するには?//各ユーザーは、自宅、個人、オフィス、在宅勤務など、複数のリストを作成できます。

  2. ユーザーとリストを接続する最良の方法は何ですか? //各ユーザーは複数のタスクを含む複数のリストを持つことができるので、これを管理する方法.

4

3 に答える 3

0

U_id をListsテーブルとして保持します。

また、タスクテーブルに l_id を保持します。

先に進む前に、MySQL チュートリアルをお読みください。

于 2013-05-05T14:22:24.687 に答える
0

リスト内のすべてのタスクを知るには、タスクが 1 つ以上のリストに属することができる場合、関係テーブルが必要です。

  • Users U_id, username, password, email //ユーザーは 0 個、1 個、または多数のリストを持つことができます

  • Tasks t_id, task_name, description // タスクはゼロまたは 1 つまたは複数のリストに属することができます

  • Lists L_id, list_name, U_id // リストはただ 1 人のユーザーに属することができます

  • Lists_Tasks t_id, L_id // タスクは 1 つ以上のリストに属することができます

すべてのタスクをリストから取得する

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 に答える
0
  1. n:m 関係テーブル: どのリストがタスクに関連付けられているか
  2. 各リストには u_Id フィールドを含めることができます。複数のユーザーが同じリストを持つことができる場合は、n:m 関係も使用します。

n:m 関係の例:

list_task_relation: list_id, task_id

于 2013-05-05T13:37:06.783 に答える