SE基本情報に出るIT用語

E-R図とは?箱と線でつながりを表す

E-R図をひとことでわかりやすく言えば、箱と線でつながりを表すもの(テーブルやエンティティの関係性を線で表すもの)です。

  • E(Entity)は、実態(箱)そのもの。データベースでいうテーブル
  • R(Relationship)は関係性。エンティティのつながりを線で表す

文字通り、E(エンティティ、テーブル)のR(関係性)を表しているのがE-R図です。

スポンサーリンク

E-R図とは箱と線でつながりを表す(テーブルの関係性を線で表す)もの

E-R図とは箱と線でつながりを表す(テーブルの関係性を線で表す)ものです。

E-R図の”E”(実態。要するにテーブル)

E-R図の”E”は、実態です。英語で書くと、”Entity”(エンティティ)。

「E(Entity)が実態」と言われてもピンとこないと思うので、データベースというデータを保存しておく箱をイメージしてください。

データベースには、さらに「テーブル」というものがあって、実際にデータを保存するのはテーブル。

「よくわかんないなぁ~」と思ったら、「データベース」=「箱そのもの」、「テーブル」=「箱の名前」みたいなイメージ(あくまでイメージ)を持つのが一番手っ取り早いです。

テーブルは、例えば「学生」テーブルみたいに名前も書かれています。「どこかの大学の学生番号と名前が入っているんだろうな~」って想像ができますよね。

試験的には、E-R図上では、「学生」エンティティと呼ぶほうが正しいです。イメージ(エンティティ)を書いて、それをもとに、プログラムで動くデータベースのテーブルを実際に作りますが、説明の都合上、テーブルと書きます。

学生テーブル(エンティティ)

名前が付けられていて実態がある。ひとことで言えば、“E”は、データベースのテーブルのこと(正確に言えば、プログラムでテーブルを作る前の状態)です。

E-R図の”R”(関係性・つながりを、線で表す)

E-R図の”R”とは、関係性・つながりを、線で表すことです。Rを英語で書くと”relationship”。

もう一度おさらいすると、”E”とはテーブルでしたね。例えば、「学生」テーブルであれば、「どこかの大学の学生番号と名前が入っているんだろうな~」って想像ができます。

そこで、もうひとつテーブルを準備。「ひよこ大学」というテーブルを作ります。

ひよこ大学と学生テーブル(エンティティ)

「ひよこ大学」テーブルと「学生」テーブル。なんだかつながっていそうですよね。

なので、「ひよこ大学テーブルと学生テーブルは、関係しているよ~」みたいに。

こんな感じで、線で結んであげたらいいわけ。

ひよこ大学と学生のE-R図

線で結んだ関係性が、”R”です。

E(テーブル)とR(関係性、つながり)が出そろいました。ひよこ大学と学生のE-R図の完成です。

※基本情報技術者試験の午前問的には、エンティティ(≒テーブル)の中身の「属性(Attribute)」まで出るとは限りませんが、実際の業務あるいは午後問題的には、「属性」(箱の中身)こそが最重要なので・・・。

スポンサーリンク

令和元年秋期の午前問題にE-R図(概念データモデル)が出題

令和元年秋期の基本情報技術者試験の午前問題(問25)にE-R図(概念データモデル)が出題されました。

令和元年秋の問25
補足
  • 「UML」は、「書き方を統一しましょうね~」的なルール
  • 「概念データモデル」は、E-R図が一通り書き上げられて「システム全体のE-R図が表現されたもの」だと思えばいいです。
  • どちらも、それ単独で問われることはないかと。少なくとも、ひよこSEは、業務で使ったことが一度もない単語っす 笑

E-R図を読む

フィーリングで読んじゃえばよし(問題を解きつつ、慣れていくのが一番)。

E-R図からわかること
  • 従業員はかならず、いずれかの部署に所属する(「◀所属する」とあるから)
  • 部署1つに対して従業員が0人もありえる(部署1..*ー従業員0..*)
  • 従業員1人が複数部署に属する可能性もある

最後の「従業員1人が複数部署に属する可能性もある」について補足。

従業員1に対して、部署は1..*(上限なし)なので、複数部署がありえます。

なんだか、ややこしい・・・

ひよこSEであれば、よくわかんなくなったら表にしちゃいます。

部署の数従業員数部署と従業員の関係
00部署は1以上なのでありえない
10部署だけある可能性もある
111人の従業員が1つの部署に属する
211人の従業員が1つ以上の部署に属する
※従業員ゼロの部署がある可能性あり
222人の従業員が1つ以上の部署に属する
※従業員ゼロの部署がある可能性あり

こんな感じで、具体的な数字を入れてしまえば、間違える可能性はグッと減る!

答え

答えは、イ(従業員は、同時に複数の部署に所属してもよい)です。

  • ア:部署と従業員ともに*なので、部署1000で従業員3とかでもいい。
  • イ:従業員1に対して、部署は1..*(上限なし)なので、複数部署がありえる。正解。
  • ウ:部署1..*に対して、従業員は0..*なので、従業員ゼロもありえる
  • エ:従業員が部署に「◀所属する」とあるので、誤り。

まとめ

E(エンティティ、テーブル)のR(関係性)を表しているのがE-R図。

  • E(Entity)は、実態(箱)そのもの。データベースでいうテーブル
  • R(Relationship)は関係性。エンティティのつながりを線で表す

E-R図ときたら、箱と線でつながりを表すもの

実務的に言えば、「学生」エンティティ1に対して、学部を管理する「ひよこ大学」エンティティは1しかありえない。学生が複数の学部にいることは、ないみたいに使うイメージっす(-_-;)。

▼この記事がいいと思ったら、下の画像をクリックしてくれたら励みになります!

にほんブログ村 IT技術ブログ システムエンジニアへ
スポンサーリンク
ひよこSEのつぶやきブログ

コメント

タイトルとURLをコピーしました