このページでは,基本情報技術者試験をはじめとする情報処理技術者試験で必須となる,E-R図についてシンプルにまとめています。概念設計の位置づけを整理したうえで,E-R図の基本的な考え方と構成要素(エンティティ,リレーションシップ,アトリビュート,カーディナリティ),さらに,インスタンスやカーディナリティの種類について説明しています。次の,論理設計(関係モデル)へ進むための基礎として活用してください。
概念設計とは
データベースの概念設計は,システム開発の上流工程で行われます。データベース化の対象となる実世界のデータを,その意味や関係を崩すことなくモデル化します。一般的には,E-R図を使用してモデル化し,モデル化したものを概念データモデルといいます。概念データモデルは,実装するコンピューターとは独立した(依存しない)ものとします。
E-R図とは(概念設計の位置づけ)
E-R図は,データベースの概念設計で用いられます。データベース化の対象となる実世界のデータを,エンティティ(実体)とリレーションシップ(関連)という概念で抽象化します。
E-R図の構成要素
| エンティティ(実体) | データベース化の対象となる実世界を構成する要素で,いくつかの属性を持つ。物理的な実体だけでなく,抽象的な事象も要素となり得る |
| リレーションシップ(関連) | 実世界の規則やルールなどによるエンティティ間の関係。属性を持つこともできる |
| アトリビュート(属性) | エンティティが持つ性質や特性 |
| カーディナリティ | エンティティ間の対応関係を表したもの。「1対1」,「1対多」,「多対多」といった関係がある |
インスタンスとは(E-R図での役割)
インスタンスとは,エンティティが持つ属性に具体的な値を持たせたものをいいます。属性の中には,インスタンスを一意に識別できる属性(主キー)があります。
広告
カーディナリティとは(関係の種類と意味)
カーディナリティは,エンティティ間の対応関係を表したもので,次の3つがあります。
「1対多」の対応関係の場合,一般的に,「多」側のエンティティは,「1」側のエンティティの主キーを外部キーとして持ちます。
また,「多対多」の対応関係については,「1対多」の対応関係に変換することができます。
図のように,リレーションシップである「持ち球」を1つのエンティティとして捉えれば,「多対多」の対応関係を「1対多」の対応関係に変換できます。
ちなみに,「選手」エンティティや「球種」エンティティのように,独立して存在できるエンティティを強エンティティといい,「持ち球」エンティティのように,他のエンティティ(「選手」エンティティや「球種」エンティティのようなエンティティ)が存在しなければ存在できないエンティティを弱エンティティといいます。
まとめ
今回は,データベースの概念設計で用いられるE-R図について,基本的な考え方と構成要素を中心にシンプルにまとめてみました。E-R図を正しく理解することで,次の段階である論理設計(関係モデル)や正規化の内容が理解しやすくなります。
理解が進んだら,過去問題等にもチャレンジしてみてください。


