今回はER図について解説します。
ER図とは何か
ER図(Entity-Relationship Diagram、実態関連図)とは、データベースの構造を視覚的に表現する図のことです。データベースを設計する際に、データがどのように整理され、どのように関係しているかを示すために使われます。
概念設計の手段
ER図は、概念設計の手段として用いられます。概念設計はデータモデルの一つである概念データモデルを設計することです。データモデルとは、データがどのように整理され、どう繋がっているかを図で表現したものです。図の表現方法(データモデル)はいくつか存在します。その中でも概念データモデルは、技術的な要素を考える前に、現実の”もの”や”出来事”がシステム内でどうつながっているかを、あくまでざっくりと捉えるための図です。これにより、実際のデータベース詳細設計に入る前に、全体像を把握しやすくなります。
ER図の構成要素
ER図は具体的には以下のようなものです。それぞれ、構成要素を説明します。
エンティティ(Entity)
エンティティは”実態”という意味です。ここではデータベースで管理する「物」や「概念」を表します。上の例で言えば、受注明細や商品マスタが該当します。
アトリビュート (Attribute)
アトリビュートは”属性”という意味です。エンティティが持つ”属性”を表します。”列”や”フィールド”のことだとイメージしてください。上の例では、受注明細におけるアトリビュートは受注番号から販売価格まで多く存在します。
主キー (Primary Key)
エンティティ内で一意(ユニーク)に識別できる属性(列)のことです。各レコード(行)を識別するために使われ、同じエンティティの中で重複することはありません。上の例では、受注明細の主キーが受注番号、商品マスタの主キーが商品コードです。
外部キー (Foreign Key)
あるエンティティが、他のエンティティとのリレーションを持つために使うキーです。上では”FK”と表記されています。外部キーは、他のエンティティの主キーを参照することで、エンティティ間の関係を表現します。上の例では、受注明細における商品コードが該当します。
リレーションについては次の説明を参照ください。
リレーション (Relation/Relationship)
複数のエンティティ間の関係を表します。上の例では、受注明細と商品マスタが関係していることを示しています。
カーディナリティ (Cardinality)
カーディナリティは数学における”要素の数”という意味です。1つのエンティティが他のエンティティに対してどれくらいの数関係しているかを表すものです。リレーションシップの”数の関係”を示します。上の例では受注明細と商品マスタが多対一の関係であることがわかります。これは、商品マスタの主キーである商品コード1つに対して、受注明細の商品コードが複数存在して結び付けられることがわかります。
その他の表現方法
上で紹介した以外にも、ゼロを含むかどうかによって〇や●を使って表現する場合があります。また、エンティティ同士を汎化してスーパータイプを設計したり、特化してサブタイプを設計したりすることもできます。今回は省略します。
コメント