【ER図】リレーションシップについて勉強してみた。
皆さんこんばんは。管理人のPaZooです。
もう年の瀬ですね、早いものです。(毎年言ってる気がします)
さて、今回も時間差なAdvent Calendar ということで。
以前当ブログでご紹介した『ER図リレーションシップ』について、より勉強してみようということでまとめてみました。
最後まで読んでくださるとうれしいです^^
ER図のおさらい
ER図とは、皆さんもご存じのとおり 「E=エンティティ(実体)」「R=リレーションシップ(関連)」を用いたデータモデル図です。
エンティティがテーブルを、リレーションシップが関連性を示しています。
詳しくはこちらの記事でもご紹介しているので、興味がある方はぜひご覧ください!
今日のメイン!リレーションシップについて
「リレーションシップ」は関連という意味を持つよ、とお伝えしました。
より詳しく説明をしますと参照整合性制約のことを表します。
ER図では関係性のあるエンティティ同士で、条件に合った線を引いていくことで表現することができます。
書き方としては、以下の三種類を使い分けて設計していくことになります。
依存リレーションシップ
子テーブルの存在が親テーブルに依存している場合に、依存リレーションシップで表現されます。
ここで言いますと、製造元テーブルが親でソフトウェアテーブルが子です。
製造元テーブルにデータが存在して、初めてソフトウェアテーブルが成り立ちます。
その証拠に、子テーブルの主キーは親テーブルの主キーであることが分かります。
親なくして子の存在はありえないので、分かりやすいかと思います。
非依存リレーションシップ
子テーブルの存在が親テーブルに依存しない場合に、非依存リレーションシップで表現されます。
ここでいう親は顧客マスタテーブル、子は製造元テーブルにあたります。製造元テーブルでは、顧客マスタテーブルが保持しているデータを必要とせず存在することができます。
多対多リレーションシップ
最後は、少し特殊な多対多リレーションシップです。
例えば、製造者マスタと製造元マスタが多対多の関係になります。
しかし、ここで注意点。
ER図の論理モデルでは表現することができますが、物理モデルにこのまま反映することができないので中間テーブルを用意して1対多として表現をします。
中間テーブルを新たに作成することで、多対多リレーションシップを表現することが可能となります。