1

他のエンティティ (外部キー) の ID と追加の情​​報によって識別されるエンティティを表現したいと考えています。以下は、特定のシナリオです。

エンティティ:

  • 製品
  • お客様

顧客が製品を購入すると、注文が行われます。注文には、同じ顧客と製品のセットに対する異なる購入を示す序数も含まれます。たとえば、顧客 James が製品の接着剤を 2 回購入した場合、私は (James,glue, 1), (James,glue, 2) になります。注文の識別は、顧客、製品、序数の組み合わせです (これはビジネス要件によるものであり、その後のデータ更新/修正を容易にするためでもあります)。

次に、Products を HUB に、Customers を HUB に、Orders を 2 つの HUB 間のリンクにします。

私が理解しようとしているのは、Order LINK に序数を含める方法です。

私が持っている 1 つの提案は、序数を格納する HUB を作成し、それに序数を事前に入力することです (同じ製品を 100 回購入する顧客は一度もいないため、100 行の事前入力で十分なはずです)。次に、Order LINK は序数 HUB を参照して、何らかの識別を行うこともできます。

これが良いアプローチかどうか教えてください(データベースが機能するために、何かを事前に入力する必要があるという事実、たとえば仮定を立てる必要があるという事実はあまり好きではありません)。そうでない場合、より良い代替手段は何ですか?

4

1 に答える 1

1

トランザクションに関する追加データを保存できるリンク サテライトが必要になる場合があります。取得したトランザクションごとに、衛星データを作成できます。

あなたの例に関しては、トランザクションには1つのリンクエントリがあります。さらに、序数を持つ 2 つのサテライト エントリが作成されます。これはマルチアクティブなサテライトである必要があり、LoadEndDateは省略されます。

このようにすると、トランザクションに必要な追加データを追加できるはずです。

于 2016-07-11T08:14:46.270 に答える