Xupper技術サポート部のページ

弊社開発手法やXupper(クロスアッパー)の活用法等について、ご説明させていただきます。

構成関係ってどんな関係?

2005年04月20日 | データモデル入門
構成関係とは、ある1つのオカレンスが複数の別オカレンスかで構成される自分自身である場合をいいます。

前述しましたが、この構成関係という関係は1対Nのバリエーションです。

自己参照の説明で”上司社員”と”部下社員”の関係を例に説明しましたが、構成関係についても、”上司社員”と”部下社員”の関係で説明していきます。

上司には、複数の部下が存在しますが、逆に部下からみても、複数の上司が存在しているはずです。(直属の上司は一人かもしれませんが、さらにその上位の上司が存在し、その人も上司であるからです。)

その場合、”上司社員”と”部下社員”との間にはN対M関係が存在することになります。

N対M関係が存在する場合には、中間(関連)エンティティを追加して、1対Nに分解することは、前述しました。

ここでも同様に、中間(関連)エンティティとして”上司・部下関係”というエンティティを追加します。

さらに、上司社員も部下社員も同じ社員であるということは変わりありません、また、社員は上司でもあり部下でもあるという関係があります。 そこで、”上司社員”も”部下社員”も同じ”社員”というエンティティに統合します。そうすると、”社員”と”上司・部下関係”エンティティが残り、その間に2つの従属関係が存在することになります。

(図1)構成関係

結果的に、上位エンティティと2つの1対N関係を持つことになりますが、1つの1対N関係が参照関係であることもあります。

(図2)2つの1対N関係

自己参照との違いですが、以下の点があげられます。
●上位エンティティが複数存在していてもこの構成関係であれば管理できます。
●管理したい関係が増えた場合、レコードを追加することで対応できます。(自己参照の場合は、リレーション(参照キー)を追加する必要があります。)

以下に構成関係の例を示します。

【商品構成(セット商品)】

(図3)商品構成(セット商品)の例

ロースハム、ボンレスハム、焼きブタ、ギフトAセット、ギフトBセットもともに商品ですが、ギフトAセット、ギフトBセットは複数の単品商品の組合せで構成されているという例です。ギフトAセットは、ロースハム、ボンレスハム、焼きブタがそれぞれ1個づつで構成されているセット商品であることを、ギフトBセットは、ロースハムが2個、ボンレスハムが1個で構成されているセット商品であることを表現しています。

【考課者】

(図4)考課者の例

上の例は社員の組合せで考課順を持つという構成となっていますが、下の例は社員の考課順単位に、考課者の社員コードを持つという構成になっています。
コメント (2)    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 自己参照関係ってどんな関係? | トップ | 非所属エンティティ一覧での... »
最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
考課者の例について (piyo)
2005-07-26 12:01:24
はじめまして。

最近、このブログを見つけました。3月分から読み進めていますが、まだまだ分からないことばかりです。



細かい質問なのですが・・・、

(図4)考課者の例がありますが、説明では下の例は社員の考課順単位に、考課者の社員コードを持つという構成になっています。

と書いてありますが、図のほうがそうなってないように思えますが如何でしょうか?私の理解力が足りないような気もしますので、教えていただけらと思います。【考課者】テーブルで、KEYである社員コードが「001」、考課順位が「2」の場合、考課者社員コードは、「001」ではなく、「003」と思ったのですが、如何でしょうか?
返信する
間違えてました。 (松岡)
2005-07-26 19:00:16
すみません。

間違いでした。

【考課者】テーブルのレコードイメージとしては、



社員コード,考課順位,考課社員コード

0003,1,0002

0003,2,0001

0002,1,0001



です。
返信する

コメントを投稿

データモデル入門」カテゴリの最新記事