私は次の場合があります: エンティティ 'Master_Entity'があります。このエンティティには、名前、タイプ、期間などのプロパティがあります。他の2つのタイプのエンティティ 'Entity'と 'Sub-Entity'があります。 「Master_Entity」と同じものがあります(これらは全く同じプロパティを持っています)。データベース設計ソリューション
最後に 'Master_Entity'は 'Entity'のコレクションを保持し、 'Entity'は 'Sub-Entity'のコレクションを保持する必要があります。 「Entity」タイプのレコードは、異なる「Master_Entity」(「Sub-Entity」と同じ)の一部である可能性がありますが、たとえば持続時間の値が異なる場合があります。どのようにそのようなモジュール性を達成できますか?
ここで私は思いつきましたが、それはかなり仕事をしていません。あなたは私にこれを手伝ってもらえますか?
編集:作業トラッカーのいくつかの並べ替えとしてこれを想像してみてください。たとえば、「PHPアプリケーションを作成する」(マスターエンティティ)があります。このエンティティは、このジョブを終了するのにかかる時間の長さを含みます。さらに、エンティティ 'Writing Code'(エンティティ)を含み、このジョブに固有のdurationプロパティを持つ 'Writing Http Client'(サブエンティティ)に分割することができます。
他の側では、アプリケーションのコンテキストのために同じ 'Writing Code'エンティティを含むが、持続時間が異なる 'Java Appを作成する'(マスターエンティティ)がある可能性がありますあなたは建っています。
「書き込みコード」という単一のレコードが必要ですが、割り当てられているすべてのジョブごとに異なる持続時間値を設定する必要があります。タイプ 'Entity'のレコードを最小限に複製することで、それをどのように達成できますか?
"*でもそれはあまり仕事をしていない*"とはどういう意味ですか?あなたの質問は何ですか? –
サンプルデータと期待される結果は、おそらくあなたの問題の理解に役立ちます。そして、その恐ろしいIDを識別子の名前として使うのを止めて、あなたのダイアグラムからpk/FKの関係を使って何を使っているのか分かりません。名前としてのIDは、非常に悪いSQLの反パターンです。 – HLGEM
@HLGEM IDは、すべてのFKがTargetTableNameIDである限り、PKの優れた列名です。 –