[データベース]draw.ioでデータベース設計のER図をかこう -ERモデル編-

データアナリティクス

どうも。つじけ(tsujikenzo)です。このシリーズでは「draw.io(ドローアイオー)でデータベース設計のER図をかこう」ということで、全4回でお届けします。今日は2回目で「ERモデル編」をお送りします。

前回のおさらい

前回は「インストール編」として、このシリーズでまなぶことや、draw.ioのインストールについてお届けしました。

[データベース]draw.ioでデータベース設計のER図をかこう -インストール編-
どうも。つじけ(tsujikenzo)です。このシリーズでは「draw.io(ドローアイオー)でデータベース設計のER図をかこう」ということで、全4回でお届けします。今日は1回目で「インストール編」をお送りします。このシリーズでまな...

今回は、「ERモデル編」をお届けします。

ERモデルとは

ERのEはEntity(実体)で、RはRelationship(関連)の略です。全ての実世界は「実体型」と「関連型」で表現(モデル化)できるという考えがもとになっています。

そして、実世界の実体型を四角□で、関連型をひし形◇で表現した結果を、実体‐関連図=ER図と呼びます。

ERモデルでの「実体型」とは、実世界のさまざまな存在物を、「りんご」「みかん」のように個々の実体としてとらえるのではなく、「商品」という総体でとらえたものです。

「関連型」も同様に、「りんごがA商店に売れた」という具体的なものではなく、「商品が顧客に売れた」という関連をとらえたものです。

実体型も関連型も、それぞれの特徴を表す「属性(Attribute)」をもつことができます。属性は楕円で描画します。

このER図は、1976年にピーターチェンが発表した、概念モデルを記述するためのER図の1つです。後に紹介するIE表記法のCrow’s Foot (カラスの足)とは異なりますので、別々に理解しましょう。

ERモデルを描画する

実体型の追加

左カラムに「ER」がありますのでクリックします。

一覧にER図に関する要素がアイコンで表示されています。アイコンの上にマウスをホバーすると、ビューが表示されます。

アイコンをクリックすると要素がページに追加されます。今回はアイコン[Entity]をクリックしました。

文字列の変更

文字列を変更する場合は、ダブルクリックをして、変更することができます。

右側の「フォーマットパネル」では文字列の書式設定を行うことができます。

要素のスタイル

要素をクリックすると、塗りつぶしなどの「スタイル」に関する設定ができます。

同様にエンティティを追加しましょう。

属性の追加

属性も同様に、左カラムのアイコン[Attribute]をクリックして追加します。

エンティティの横にそれぞれ属性を追加します。(今回はエンティティに所属する属性が1つだけでしたが、属性が多くなる場合は代表的な属性のみで、残りは省略することも多いそうです。)

主キーを設定する

属性名にアンダーラインをつけて、「主キー」を表現することができます。「主キー」とは実体型にぶら下がっている属性のうち、実体を識別できるユニークなキーを意味します。

免許証番号を照会すれば名前、住所、性別などが特定できるように、商品IDや従業員IDのような主キーを、属性の中から指定することができます。

関連型の追加

関連型も同様に、左カラムのアイコン[Relationship]をクリックして追加します。

今回は「顧客」と「商品」のあいだに「納品」という関連が発生しますので、関連型[納品]と2つの属性[年月日][数量]を追加します。

スペースが狭かったので要素の移動も行いました。

今回はここまでです。3つの単語を覚えましょう。

  • 実体型・・・エンティティ
  • 関連型・・・リレーションシップ
  • 属性・・・・それぞれの要素を特徴づけるもの

まとめ

さて、以上で「ERモデル編」ということで、ER図の一つであるERモデルの簡単な説明と、ER図で用いられる3つの要素の描画方法についてお届けしました。

次回は、「濃度(カーディナリティ)編」についてお届けします。お楽しみに!

このシリーズの目次

  1. [データベース]draw.ioでデータベース設計のER図をかこう -インストール編-
  2. [データベース]draw.ioでデータベース設計のER図をかこう -ERモデル編-
  3. [データベース]draw.ioでデータベース設計のER図をかこう -濃度(カーディナリティ)編-
  4. [データベース]draw.ioでデータベース設計のER図をかこう -IE表記法編-
タイトルとURLをコピーしました