Web教材一覧情報技術の基礎データベース

ER図

学習のポイント

データの正規化」では,非正規形のファイルを正規化する手順を学習しました。ここでは,ER図という手法により,データの構造を整理することを目的にします。

キーワード

ER図,エンティティ,リレーションシップ,対応関係,1:1,1:N,M:N,親子

過去問題:「ERモデル」( erd


エンティティとリレーションシップ

「売上」データを業務の観点から記述します。当社は電器の卸売業です。

  1. 当社の「得意先」は,[コダマ電器]や[リラックス]などがある。
  2. 当社は,[目立テレビ]や[HALパソコン]などの「商品」を取扱っている。
  3. [目立テレビ]や[アニーテレビ]などは[テレビ],[HALパソコン]や[不二パソコン]などは[パソコン]というように,それぞれの「商品」は唯一の「商品区分」に属する。
  4. 当社は,得意先へ商品の「売上」を行う。

エンティティ

エンティティ(Entity)とは,システム化対象業務において管理すべき実体です。具体的には,「得意先」「商品」「商品区分」「売上」など,上の文中で「 」で囲んだものです。エンティティは一般的に名詞になります。なお,「得意先」や「商品」のような物理的なモノだけでなく,「売上」のような見えないものもエンティティになります。
 [ ]で囲んだものは,エンティティの具体的な例であり,インスタンスといいます。

リレーションシップ

リレーションシップ(Relationship)とは,エンティティ間の関連のことです。次のように,リレーションシップは一般的に動詞になります。

上の動詞の意味は重要ではありません。「AはいくつかのBを持ち,Bは唯一のAに属する」という表現にできましょう。このの関係は,「Bが決まればAが一意に決まる」関係と同じです。このような関係にあるとき,
  AとBには,1:Nの対応がある
  AはBのである(BはAのである)
といいます。子が決まれば親が決まるのですから,親は子に従属していることになります。

     1(親)    N(子)
     商品区分    商品
     得意先     売上
     商品      売上

対応は1:Nだけではありません。
  1:1の対応・・・部と部長,社員とその住所
  M:Nの対応・・・店舗と商品
がありますが,実際に最も重要なのは1:Nの対応です。

ER図

エンティティとリレーションシップを図示する図法にER図があります。Eはエンティティ,Rはリレーションシップの略です。ER図には,下の左図のようにいろいろな記述法があります。

   

ところで,「得意先」「商品」「商品区分」「売上」の関係をER図に描くと下のようになります。リレーションシップの線は,ループにしないこと(なるべく少ない線にすること),実務的な意味を重視することが必要です。例えば,上の右図で,得意先と商品をM:Nのリレーションシップがあるとして,線で結ぶのは不適切です。

ER図による正規化ファイルの作成

データの正規化とER図の間には密接な関係があります。正確なER図ができると,データの正規化が容易にできます。
 エンティティは唯一のファイルになります。たとえば「得意先」エンティティは「得意先マスタ」になり,「商品」エンティティは「商品マスタ」になります。それで,このER図から,次のファイル群ができることがわかります(単価は商品により一定で,得意先により変化しないとします。また,売上ファイルには月日と数量が必要なことは当然でしょう)。

   得意先マスタ =得意先コード +得意先名 +・・・・
   商品マスタ  =商品コード  +商品名  +単価+・・・・
   商品区分マスタ=商品区分コード+商品区分名+・・・・
   売上ファイル =月日+数量+・・・・

次に,上の・・・・に何を加えればよいのかを考えます。ここで重要なのは,次の事項です。

  1. 親より上の先祖,子および子孫のことは,一切考えない。
  2. 子のファイルには,親のコードを入れ,それ以外の親の項目は一切持たない。

この結果,次のようになります。これが,先の「データの正規化」での第3正規化の結果と同じであることを確認しておきましょう。

   得意先マスタ =得意先コード+得意先名
   商品マスタ  =商品コード+商品名+単価+商品区分コード
   商品系列マスタ=商品系列コード+商品系列名
   売上ファイル =月日+数量+得意先コード+商品コード

理解度チェック

第1問

次の文中の空欄に適切な語句を挿入しなさい。

  1. [安部愛子]や[井上一郎]は「学生」である。このとき,[安部愛子]や[井上一郎]を[ 1 ]といい,「学生」を[ 2 ]という。また,二つの[ 2 ]間の関連を[ 3 ]といい,[ 2 ]を長方形,[ 3 ]をそれを結んだ線として表記する図法を[ 4 ]という。
  2. この大学では,一つの科目は一人の教員が担当し,一人の教員はいくつかの科目を担当する。このとき,親子の関係でいえば,科目が[ 5 ]で教員が[ 6 ]である。それで,教員マスタの項目に科目番号が存在[ 7 ]。
  3. 「学生」と「科目」の関係は,学生は複数の科目を履修し,一つの科目を複数の学生が履修するので,その間には[ 8 ]の対応がある。しかし,ある学生がある科目を履修した成績を考えると,それにより1:Nの対応に結びつけることができる。そのとき,成績ファイル=[ 9 ]+[ 10 ]+成績となる。

本シリーズの目次へ