E-R図は,基本情報技術者試験をはじめとする情報処理技術者試験で重要となる基礎的な内容です。データベース設計の最初の段階である概念設計では,実世界のデータを整理し,その構造や関係をモデル化します。E-R図の役割や構成要素を,きちんと整理できていますか?
E-R図=概念設計で用いられるデータモデル
E-R図は,データベース設計における概念設計で用いられる図であり,実世界のデータをエンティティ(実体)とリレーションシップ(関連)という概念を用いて表現します。
このページでは,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図では,実世界のデータをエンティティやリレーションシップを用いて整理し,データベースの基礎となる概念データモデルを作成します。試験対策としても,基礎となる大切な内容ですので,確実に押さえておきたいポイントです。
E-R図の理解を深めるためには,データベース設計の流れや,次の段階である論理設計(関係モデル)についてもあわせて学習することが重要です。
理解が進んだら,基本情報技術者試験の過去問題等にもチャレンジしてみてください。


