0

このシナリオで関係を理解するのに問題があります:

収入タイプのチェックボックスリストを作成したい。UIには、「どのような種類の収入がありますか?」と表示されます。物事をシンプルに保つための選択肢は、フルタイム、パートタイム、そして引退である可能性があります。

私の一部は、これは1対多の関係であり、1人の個人が1つ以上の収入タイプを持つことができるため、関連付けテーブルを必要としないと考えています。しかし、文字通り、「フルタイム」の雇用は多くの個人に関係している可能性があります。この場合、「フルタイム」である個人の数の要約表は表示しません。私は1人の個人を扱い、彼らの雇用状況を判断するだけです。

しかし、私は「フルタイム」を、たとえば俳優や映画のような実体とは考えていません。多くの俳優が多くの映画に出演し、多くの映画に多くの異なる俳優が出演する可能性があります。

私をつまずかせているのは、ラジオボタンリストやドロップダウンリストではなく、ユーザーが複数のオプションを選択できることだと思います。

この場合、それはどれですか?

4

3 に答える 3

1

many-to-manyPersonEmployment Type

多くPersonのが単一のを共有する場合がありますEmployment Type

1つPersonには複数Employment Typeのが含まれる場合があります。

そうは言っても、あなたのビジネスモデルがどれほど豊かかはわかりませんが、(から直接参照するのではなく)アソシエーションによって参照さEmployment Typeれるというエンティティにアタッチします。EmploymentEmployment Typemany-to-onePerson

于 2013-03-24T15:10:27.773 に答える
1

私の見解では、これは多対多の関係です。

フルタイムINCOME_TYPESは、俳優や映画とまったく同じように、エンティティ(テーブルを想定)です。

あなたが私たちに言うので、あなたは収入タイプ側ではなく個人側だけのものを示すでしょう、 2つの選択肢があります:

  1. スキーマを非正規化し、INDIVIDUALSテーブルに3つのフィールドを配置します。これはあまり良くありません。

  2. コード側でいくつかのことを行う場合は、ビットマスクを使用できます。

    • たとえば、1はフルタイム、2はパートタイム、4は退職を表します。
于 2013-03-24T15:10:44.473 に答える
0

収入タイプを別のテーブルとして持っているか、それとも単なる文字列であるかによって異なります。

個別のテーブルの場合、多対多です。各人には複数の収入タイプがあります。各収入タイプには複数の人がいます。

于 2013-03-24T15:10:54.613 に答える