Allegro!

JavaやIT系小ネタ、趣味の話まで。

【ER図】リレーションシップについて勉強してみた。

皆さんこんばんは。管理人のPaZooです。
もう年の瀬ですね、早いものです。(毎年言ってる気がします)

さて、今回も時間差なAdvent Calendar ということで。
以前当ブログでご紹介した『ER図リレーションシップ』について、より勉強してみようということでまとめてみました。

最後まで読んでくださるとうれしいです^^

ER図のおさらい

ER図とは、皆さんもご存じのとおり 「E=エンティティ(実体)」「R=リレーションシップ(関連)」を用いたデータモデル図です。

エンティティがテーブルを、リレーションシップが関連性を示しています。

詳しくはこちらの記事でもご紹介しているので、興味がある方はぜひご覧ください!

pazoo.hatenablog.com

今日のメイン!リレーションシップについて

「リレーションシップ」は関連という意味を持つよ、とお伝えしました。
より詳しく説明をしますと参照整合性制約のことを表します。

ER図では関係性のあるエンティティ同士で、条件に合った線を引いていくことで表現することができます。

書き方としては、以下の三種類を使い分けて設計していくことになります。

依存リレーションシップ

f:id:PaZoo:20211220215937p:plain

子テーブルの存在が親テーブルに依存している場合に、依存リレーションシップで表現されます。
ここで言いますと、製造元テーブルが親でソフトウェアテーブルが子です。
製造元テーブルにデータが存在して、初めてソフトウェアテーブルが成り立ちます。
その証拠に、子テーブルの主キーは親テーブルの主キーであることが分かります。

親なくして子の存在はありえないので、分かりやすいかと思います。

非依存リレーションシップ

f:id:PaZoo:20211220221316p:plain
子テーブルの存在が親テーブルに依存しない場合に、非依存リレーションシップで表現されます。
ここでいう親は顧客マスタテーブル、子は製造元テーブルにあたります。製造元テーブルでは、顧客マスタテーブルが保持しているデータを必要とせず存在することができます。

多対多リレーションシップ

f:id:PaZoo:20211220222311p:plain

最後は、少し特殊な多対多リレーションシップです。
例えば、製造者マスタと製造元マスタが多対多の関係になります。

しかし、ここで注意点。
ER図の論理モデルでは表現することができますが、物理モデルにこのまま反映することができないので中間テーブルを用意して1対多として表現をします。

f:id:PaZoo:20211220222638p:plain

中間テーブルを新たに作成することで、多対多リレーションシップを表現することが可能となります。

まとめ

いかがでしたか?
親の主キーが子の主キーであるかないか、整理してみると全体が把握しやすくなり設計もスムーズにできるかと思います!


慣れるまで難しかったのですが、基本情報技術者試験応用情報技術者試験を受けようと思っている方も覚えていて損はないかと!
これを機にぜひ勉強してみてはいかがでしょうか。