16. データベースの設計優れたデータベースを構築するためには、設計段階からデータの構成を工夫しなければなりません。効率的なデータベースを設計するための方法論として、「正規化」という概念が存在します。また、この「正規化」の基本概念となるものに ER モデルというものがあります。ここでは、ER モデルについて説明し、具体的にどのようにして正規化を行うのかを説明していきます。 16.1. ER モデル実世界に存在するものの中で、データベースとして表現すべき対象物をエンティティ (entity:実体) と呼びます。また、エンティティとエンティティの相互関係をリレーションシップ (relationship:関連) と呼びます。そして、この関係を図示し、エンティティとエンティティの間のリレーションシップを分析する技法を ER(Entity-Relationship) モデルといいます。 エンティティとエンティティのリレーションシップには、次のような対応関係があります。
16.2. ER モデルの例ER モデルは、エンティティとエンティティのリレーションシップを図で表したものです。ここでは、次の図に示す受注伝票を例に ER モデルを作ります。
この受注伝票からエンティティを列挙すると次のようになる。
ER モデルでは、先ほど説明したリレーションシップの対応によって、エンティティとエンティティを矢印で次のように結びます。1 の方を一つの矢印、M や N の方を二つの矢印で表示します。
受注伝票の各エンティティに関する ER モデルを作成すると次の図のようになります。
すべてのエンティティについて ER モデルを作成すると、左の図のようになりますが、点線の部分は記述しない方がよいと考えられます。そこで、点線の部分をのぞいて書き直したものが右の図です。点線の部分を記述しない方がよいと考える理由は次の通りです。
1:1 の対応関係にあるものは、通常は一方の付加的情報であるので、それの属性とすることができます。また、M:N の対応関係にあるものは、何らかの仲介項目を設けることで 1:N の対応関係に変換すると、そのリレーションシップが明確なものになります。 |
![]()
![]()
|