1

契約会社のデータベースを構築しています。次の状況で問題が発生しています。

プロジェクトごとに多くのアクティビティがあり、同様に各アクティビティにも多くのサブアクティビティがあります。

たとえば、病院の建物の建設がプロジェクトです。その活動の一つは、緊急時の建物の建設です。このアクティビティには多くのサブアクティビティがあります。それらの1つは電気配線です。次のテーブルを作成することにしました。

プロジェクトと活動。これらの2つのテーブルには、多対多の関係があります。そのため、プロジェクトIDとアクティビティIDを持つFollowUpScheduleというテーブルを作成しました。

私の質問は、サブアクティビティテーブルを作成してアクティビティに接続する方法です。アクティビティIDとサブアクティビティIDを持つ別のテーブルを作成する必要がありますか?

4

1 に答える 1

1

私が理解したように、私は2つのオプションを考えることができます:

最初の解決策

前述のように、サブレポートを保持する別のテーブルを作成します。

アクティビティテーブル

  • ActivityID
  • アクティビティ名

サブアクティビティテーブル

  • ID
  • ActivityID
  • 名前

2番目の解決策(私はそれを好む)

子の親構造をサポートするようにアクティビティテーブルを変更します。

すべてのサブアクティビティが親アクティビティに属している場合は、階層構造を実装できます

テーブル構造は次のようになります。

  • ActivityID
  • ParentID(0-ルートの場合)
  • アクティビティ名

や。。など....

于 2013-03-03T13:57:46.777 に答える