基本情報技術者試験対策(22)「E-R図」

スポンサーリンク
IT系

E-R図の役割

関係データベースを構築する前段階として、業務の中にあるデータを にする作業を行うことがある。 その際によく使われるのが、E-R図である。 E-R図のE-Rは、 Entity Relationship の略語である。 エンティティ (Entity)実体という意味だが、1つのデータの集合のことだと考えるとわかりやすい。 リレーションシップ (Relationship) は、 関連という意味で、エンティティとエンティティの結び付きのことである。

一般的に、はじめにE-R図を描き、 それをもとにして関係データベースの表を作る。 基本的に、 E-R図の1つのエンティティが、 関係データベースの1つの表になる。 E-R図のリレーションシップは、関係データベースのリレーションシップになる。

一般的なデータベース設計の手順

E-R図の描き方と多重度

E-R図では、四角形の中にエンティティ名を書いて、1つのエンティティ を表す。四角形と四角形を線で結んで、リレーションシップを表す。 その際に、多重度を明記する。 多重度には、 「1対1」 「1対多 (多対1)」 「多対多」 の3種類がある。

試験問題では、多重度の表し方に、 2つの形式がある (下図)。 1つは、 1の側に矢印を付けず、多の側に矢印を付ける形式である。 もう1つは、1の側 を1で表し、多の側を0 または 1..* で表す形式である。 0..* は 「0以上の多」 という意味で、 1.*は 「1以上の多」 という意味である。 どちらも、 *が多を意味している。

 多重度の表し方

リレーションシップの多重度の具体例を示してみよう (下図)。「夫」と 「妻」は、1対1である。 「担任の先生」と「生徒」は、1対多である。「顧客」と 「商品」は、多対多である。

エンティティをたどる

多重度は、それぞれのエンティティを紐で結んだときの紐の本数だと考えるとわかりやすい。 一方のエンティティが他方のエンティテ 紐をたどって結び付くのである。 下図は、 多重度を紐の本数で表したE-R図である。

一般的なデータベース設計の手順

パーティ会場に何組かの夫と妻がいて、それぞれのペアを紐で結ぶと1人の夫から1人の妻をたどれ、 1人の妻から1人の夫をたどれる。このように、どちらからたどっても、 相手を1つに特定できるのが、1対1である。

校庭に何人かの先生と生徒がいて、担任の先生と生徒を紐で結ぶと、1人の担任の先生から生徒を1人にたどれないが、1人の生徒から1人の担任の先生をたどれる。このように、一方からたどったときにだけ、相手を1つに特定できるのが、 1対多である。

八百屋に何人かの顧客と商品があって、顧客と購入した商品名を紐で結ぶ と、1人の顧客から商品名を1つにたどれず、1つの商品名からも1人の顧客をたどれない。例えば、鈴木さんはキュウリとトマトに結ばれ、キュウリ は鈴木さんと佐藤さんに結ばれる、ということがあるからである。 このように、 どちらからたどっても、相手を1つに特定できないのが、多対多である。

参考)情報処理教科書 出るとこだけ!基本情報技術者[科目A][科目B]2025年版


コメント

タイトルとURLをコピーしました