データベースをなぜつくるのか? その2
データベースをなぜつくるのか? その2
データベース学習の整理のために執筆
2章 E-R図の書き方
キーワード
- E-R図はEntity(実態)-Relationships(関連)-Diagram(図)の略
- Attributes(属性)
- カーディナリティ(多重度)
- オプショナリティ(任意性)
- キー、主キー、外部キー
- エンティティの種類:イベント系(出来事)、リソース系(資源)
- 関係データベース
E-R図とは
エンティティとエンティティの関連を示すものをE-R図と呼びます。データベースとして構築したい業務の内容を図示します。E-R図の記載方法は以下の3つあります。
- ピーター・チェン氏の方式
- IDEF1X(アイデフワンエックス)の方式
- 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つのみの場合もあります。複数のアトリビュートをセットにしてキーとする場合は「複合キー」と呼びます。エンティティを代表とするキーは主キーと呼びます。あるエンティティと他のエンティティを結びつけるキーとするものは外部キーと呼びます。