0

私はlists4meと呼ばれる単純なRailsアプリに取り組んでおり、最小限のタスク管理アプリケーションを作成し、Railsを掘り出し物で学びます。私が設定したテーブルは、ユーザー、カテゴリ、プロジェクト、タスク、およびステップです。基本的に、ユーザーには多くのカテゴリがあり、カテゴリには多くのプロジェクトがあり、プロジェクトには多くのタスクがあり、タスクには多くの(実行可能な)ステップがあります。現在、user_idフィールドはcategoriesテーブルに設定されていますが、残りのテーブルには設定されていません。

最近、新しいタスクやプロジェクトが作成されたときにtodoist.comから投稿されたデータを見ていましたが、user_idも送信されているようです。カテゴリテーブルにのみuser_idを設定したので、すべてのテーブルにフィールドとしてuser_idを含める必要があるかどうかを考えました。もしそうなら、なぜですか?

4

1 に答える 1

0

基本的に、これに答えるには、 「(プロジェクト | タスク | ステップ) がどのユーザーに属しているかを知る必要があるでしょうか?」という質問を検討します。

それが必要ないか、カテゴリを介してユーザーを (プロジェクト | タスク | ステップ) に参加させるだけで作業できるため、それが問題にならない場合は、ユーザー ID フィールドがなくても問題ありません。他のテーブル。

ただし、たとえば、特定のユーザーのすべての未処理のタスクを頻繁に検索する場合は、そこにユーザー ID フィールドを追加して、結合操作を保存する価値があります。私の理解が正しければ、 、それほど速くはありません。

于 2012-04-05T08:18:31.460 に答える