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

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

リレーションって、どんなものなの?

2005年04月13日 | データモデル入門
エンティティは、テーブルとかファイルと考えれば、わりと理解しやすいのではないでしょうか?また、属性もテーブルのカラムとかフィールドと捉えれば、そんなに難しくないと思います。

というふうに考えていくと、やっぱり、難しいのは「リレーション」でしょうか?

リレーションとは「データとデータの関連を表している」もので、その多くは「ビジネスルールそのものとデータの管理単位」を表しています。

リレーションがデータとデータの関連を表しているということの意味ですが、あるエンティティから別のエンティティに関係をたどっていくことによって、必要なデータを取得することができるアクセスパスだと考えてもらえばわかりやすいのではないでしょうか?

このアクセスパスが適切に定義されていない場合は、冗長(無駄)な処理をプログラムで記述したり、あるいは必要な処理がそもそもできないということになりかねません。
分析・設計の段階で業務を実施するためには、データとデータにどのような関係を持たせておくべきなのかを明確にしておく必要があります。

また、リレーションは「ビジネスルールそのもの」であるということもよく言われます。これは、リレーションが定義されているかどうかで、物理的なデータの取得ができるかできないかということだけではなく、そのモデルが表現している業務的な意味自体が異なってくるからです。

モデラーとして経験を積んでくるとデータモデルだけを見て、業務の概要を理解することができるようになります。(もちろん、最低限の業務的な知識は必要となりますが・・・)
どのエンティティと、どのエンティティの間にリレーションが定義されているのかを確認することによって、そのモデルの表現している業務というものを理解することができます。

例えば「納入倉庫を発注単位で指定する」というビジネスルールであれば”倉庫”と”発注”との間にリレーションが定義されているはずですし、「納入倉庫は発注商品単位に指定する」というビジネスルールであれば、”倉庫”と”発注明細(発注商品)”との間にリレーションが定義されているはずです。

どのエンティティと、どのエンティティとの間にリレーションが定義されているのかによって、モデルで表現しているビジネスルールが異なってくるわけです。

余談ですが、欧米でもデータモデルに関する書籍もいろいろ出ており、たまに参照することがあるのですが、実際あまり英語が得意でない私でも、エンティティ名さえ翻訳しておけば、リレーションを見れば、だいたい表現したいことはわかります。

これも、モデルの威力ではないでしょうか?
コメント (2)    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« エンティティって、どんな種... | トップ | 所属エンティティ一覧での検... »
最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
Unknown (kdmsnr)
2005-04-23 01:54:15
それを言うなら、リレーションシップではないでしょうか。
返信する
そうですね。 (松岡)
2005-04-25 10:12:24
正確にいうとリレーションシップでしょうね。



・リレーション=表(テーブル)

・リレーションシップ=表と表の関連



業務でリレーションと言ってきたので、あまり気にせず使ってしまいました。
返信する

コメントを投稿

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