データベース

【ER図】鳥足どっちがどっちだっけ?IE記法でもう迷わないための考え方

みなさん、こんにちは。どんぶラッコです。

みなさんは鳥の足記法を使うこと、ありますか?

名無しさん
名無しさん
IE記法, Crow’s Foot記法とも言いますね
どんぶラッコ
どんぶラッコ
IEとは Information Engineering の略です。 Internet Explorer じゃないよ。

各データベースがどんな関係で結びついているのかを示す一つの方法ですね。

ただこの部分、「あれ、どっちがどっちに結びついてればいいんだっけ…?」と迷ってしまうことありませんか?

ということで、今回はもう間違えないために、混乱した時の考え方のステップをご紹介しようと思います!

IE表記法のカーディナリ記号

まず、この鳥足についている記号はどういう意味なのか、改めて整理しておきましょう。

0
1
2以上
名無しさん
名無しさん
…これだけ書かれても何がなんだかわからないよ
どんぶラッコ
どんぶラッコ
今は、この3つのパターンを組み合わせてデータベースの関係性を表現していきます。例をみながら確認していきましょう!

ポイントは〇〇から見た〇〇!

前回、データベースのリレーションについてご説明しました。

このとき、「〇〇から見て◯◯は 1つ or 複数 の値を持つ」の形式で見ていきました。

今回もその考え方を使っていけばすぐに頭を整理することができます!

例えば、1対多の関係を見ていきましょう。

↑の記事では、生徒とクラスの関係を例にご説明しました。

実査に値を入れてみるとこんな感じでした。

では、これをIE記法で示すとどうなるでしょうか?

IE記法で書いてみる

正解はこちら。

何故こうなるのか?それは〇〇から見た〇〇の考え方で全て解決できます!

学生テーブルから見たクラステーブル

  • サンプル太郎さんのクラスは、甲クラス
  • サンプル次郎さんの住所は、甲クラス

というように、1人の学生を指名すると、所属するクラスが1つに確定しますね。

だから1の関係を示す “-” が使われています

クラステーブルから見た学生テーブル

では逆に、クラス名がわかれば個人の学生が特定できるでしょうか?

….できません。

  • 甲クラス …. サンプル太郎、サンプル次郎
  • 乙クラス …. サンプル隼人
  • 丙クラス … サンプル花子、サンプル郁恵

のように、クラス名から学生を絞り込もうとすると複数人引っかかってしまいます。

このように、1つの関係性ではない状態を “多”と表現します。

2以上の関係を示すのは、鳥脚でしたね!

ちなみに、鳥脚の左に “-” のマークがついているのは、必ず1以上の関係がある、ということを示す場合に使います。

例えば、これが出身県IDだったら、0の場合があります。

北海道という地名は存在しますが、北海道出身の生徒さんが学校に必ず存在するかというと、そうではありませんよね。

そんな時はこんな風に”o”と鳥脚を組み合わせて表現します。


〇〇から見た〇〇で関係性を整理できましたね!

頭がこんがらがった時はみなさんも落ち着いて、〇〇から見た〇〇で考えてみましょう♪

ABOUT ME
どんぶラッコ
ECコンサルタント、システムエンジニアを経て、quintet株式会社CTOに就任。普段はNuxt.jsやLaravelを使用しています。

\面白いと思ったら/

記事のシェア & Twitter のフォロー をお願いします!

@proglearn
RELATED POST

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です