2016-05-27 10 views
0

"can-be"関係をモデル化するソリューションを探しています。 例:Userは、Special Userとすることができます。ERD - モデリング可能な関係関係

提案がありますか?エンティティの

+0

私はサブタイプ/スーパータイプを探していると思います。 – reaanb

答えて

0

タイプは、次の2つのものの一つとして、(結果)見ることができます:フィールドになり

  • 関係
  • フィールド

タイプは通常、機能的冗長性と見られていますテーブル内の異なる行/レコードは同じタイプを持つことができます。たとえば、ユーザーの性別/性別、ユーザーからのアクセス権またはアクセス権レベルなどです。

ただし、このフィールドに属性/プロパティがある場合は、新しいエンティティがあります。この場合、ユーザは、たとえば、番地、住宅番号などを含む住所など、住所に関連することになります。または、あなたの場合、特別ユーザーに属性/プロパティがある場合、特別なユーザーエンティティがあります。ここでのカーディナリティーは、ユーザーが持つことができるタイプの数に依存し、それは問題のコンテキストを考慮に入れます。

ユーザーが「できる」と言うと、「できない」ことを意味します。あなたは可能性:

  • ユーザーのエンティティにNULL可能機能冗長フィールドを設定したり、
  • 設定するエンティティの「ユーザーのタイプ」と 「ユーザー」のための関係N-Nを作成します。この場合、 が2つのエンティティ間の接続を許可するかどうかを示す中間テーブルがあります。

どちらの方法でも、将来的に新しいタイプのユーザーを追加することができます。

ただし、パーティショニングと呼ばれる3番目のケースがあります。ここでは、エンティティのタイプとサブタイプがあります。この場合、エンティティのサブタイプはスーパーエンティティのフィールドを継承します。私はこれがあなたの場合ではないと信じています。

ご不明な点がございましたら、ご意見とご回答ください。

関連する問題