本文へスキップ
← 記事一覧に戻る

データベースをなぜつくるのか? その2

データベースをなぜつくるのか? その2

データベース学習の整理のために執筆

2章 E-R図の書き方

キーワード

  • E-R図はEntity(実態)-Relationships(関連)-Diagram(図)の略
  • Attributes(属性)
  • カーディナリティ(多重度)
  • オプショナリティ(任意性)
  • キー、主キー、外部キー
  • エンティティの種類:イベント系(出来事)、リソース系(資源)
  • 関係データベース

E-R図とは

エンティティとエンティティの関連を示すものをE-R図と呼びます。データベースとして構築したい業務の内容を図示します。E-R図の記載方法は以下の3つあります。

  1. ピーター・チェン氏の方式
  2. IDEF1X(アイデフワンエックス)の方式
  3. IEの方式

E-R図の構成要素

E-R図の主な構成要素は「エンティティ(実態)」「アトリビュート(要素)」「リレーションシップ(関連)」です。 例えば「顧客(実態)」が「商品(実態)」を「買う(関連)」ことによって顧客と商品に関連が生まれます。顧客はそれぞれ「氏名(属性)」「電話番号(属性)」「住所(属性)」などの属性を持ちます(商品も同じ)

エンティティとは実態の型を指し、 「田中」さん「安藤」さんという実態はインスタンス(実例)またはオカレンス(出現)と呼びます。

erDiagram
 client ||--o{ item : "買う"
    client {
        varchar name "氏名"
        varchar tel "電話番号"
        varchar address "住所"
    }
    item{
        varchar item_name "商品名"
        varchar unit_price "単価"
    }
 

エンティティ種類

エンティティはイベント系とリソース系に分類できます。

イベント系

  • 動詞的(「〜する」と言える)
  • アトリビュートに「日付」を入れられる
  • 例:「仕入」「売上」

リソース系

  • 名刺的(「〜する」と言えない)
  • アトリビュートに「日付」を入れられない
  • 例:「顧客」「商品」(物理的)、「部門」「予算」(概念的)

カーディナリティ、オプショナリティ

エンティティ間のリレーションシップにはカーディナリティ(多重度)とオプショなリティ(任意性)があります。カーディナリティはエンティティ間のリレーションシップが「1対1」「1対多(または、多対1)」「多対多」のいずれかで有ることを示します。オプショナリティは1か多ではなく、ゼロ(任意)の場合が有るかを示します。

キー、主キー、外部キー

インスタンスを一意に識別できるアトリビュートをキーと呼びます。一つのエンティティに複数のキーが存在している場合や1つのみの場合もあります。複数のアトリビュートをセットにしてキーとする場合は「複合キー」と呼びます。エンティティを代表とするキーは主キーと呼びます。あるエンティティと他のエンティティを結びつけるキーとするものは外部キーと呼びます。

amazonリンク