0

配列をmysqlデータベースに保存してはいけない場所を複数読んだことがあります。だから私はこれをどうやってやるべきか尋ねたいと思いました:

php / mysqlで基本的なタスク管理アプリを作成していますが、プロジェクトとタスクが必要です。タスクは単一のオブジェクトであり、プロジェクトは複数のタスクを保持するオブジェクトです。つまり、すでにタスクが機能しているので、id、name、dueDate列を持つタスクテーブルがあります。私の次のステップはプロジェクトです。

私の計画は、id、name、dueDate、およびtaskID列を持つプロジェクトテーブルを作成することでした。taskID列は、タスクIDの配列を保持するか、場合によってはコンマ区切り文字を含む文字列のみを保持します。

助言がありますか?

4

3 に答える 3

3

これは、MySQLでは1対多の関係と呼ばれます。割り当てられているプロジェクトのIDを保持するタスクがあります。したがって、プロジェクトに関連付けられているタスクを見つけるには、プロジェクトIDを保持しているすべてのタスクをクエリするだけです。それは正しいですか?

于 2012-08-17T15:47:56.453 に答える
0

Tasks(id、name、dueDate、ProjectID)Projects(id、name、dueDate)

ProjectID列は外部キーのandであり、ProejctsのテーブルID列はもう1つの列です。

于 2012-08-17T15:49:18.827 に答える
0

ID /名前レコードごとに異なる数のタスクIDが存在する可能性がある場合は、2つのオプションがあります。1つは、SQLの代わりにXMLを使用することです。2つ目は、2つのテーブルを作成することです。その上にID、名前、期日が保持され、次にidとtaskIDだけを持つ秒が保持されます。この2番目の列のidは、表1のidを参照する外部キーであり、taskIDは単一のtaskIDです。例えば:

表1:

id | name | dueDate
-------------------
1  | bob  | '2012-08-16'
2  | fred | '2012-08-17'

表2:

TableID | TaskID
-----------------
1       | 1
1       | 2
1       | 3
2       | 1
2       | 2
于 2012-08-17T15:51:48.723 に答える