みなさん、こんにちは。どんぶラッコです。
みなさんは鳥の足記法を使うこと、ありますか?
各データベースがどんな関係で結びついているのかを示す一つの方法ですね。
![](https://proglearn.com/wp-content/uploads/2020/08/image-5.png)
ただこの部分、「あれ、どっちがどっちに結びついてればいいんだっけ…?」と迷ってしまうことありませんか?
ということで、今回はもう間違えないために、混乱した時の考え方のステップをご紹介しようと思います!
IE表記法のカーディナリ記号
まず、この鳥足についている記号はどういう意味なのか、改めて整理しておきましょう。
![]() | 0 |
![]() | 1 |
![]() | 2以上 |
ポイントは〇〇から見た〇〇!
前回、データベースのリレーションについてご説明しました。
このとき、「〇〇から見て◯◯は 1つ or 複数 の値を持つ」の形式で見ていきました。
今回もその考え方を使っていけばすぐに頭を整理することができます!
例えば、1対多の関係を見ていきましょう。
↑の記事では、生徒とクラスの関係を例にご説明しました。
![](https://proglearn.com/wp-content/uploads/2020/08/image-18-1024x500.png)
実査に値を入れてみるとこんな感じでした。
![](https://proglearn.com/wp-content/uploads/2020/08/image-19-1024x425.png)
では、これをIE記法で示すとどうなるでしょうか?
IE記法で書いてみる
正解はこちら。
![](https://i0.wp.com/blog.proglearn.com/wp-content/uploads/2020/08/image-20.png?fit=1024%2C470&ssl=1)
何故こうなるのか?それは〇〇から見た〇〇の考え方で全て解決できます!
学生テーブルから見たクラステーブル
- サンプル太郎さんのクラスは、甲クラス
- サンプル次郎さんの住所は、甲クラス
というように、1人の学生を指名すると、所属するクラスが1つに確定しますね。
だから1の関係を示す “-” が使われています
![](https://i0.wp.com/blog.proglearn.com/wp-content/uploads/2020/08/image-21.png?fit=1024%2C541&ssl=1)
クラステーブルから見た学生テーブル
では逆に、クラス名がわかれば個人の学生が特定できるでしょうか?
….できません。
- 甲クラス …. サンプル太郎、サンプル次郎
- 乙クラス …. サンプル隼人
- 丙クラス … サンプル花子、サンプル郁恵
のように、クラス名から学生を絞り込もうとすると複数人引っかかってしまいます。
このように、1つの関係性ではない状態を “多”と表現します。
2以上の関係を示すのは、鳥脚でしたね!
![](https://i0.wp.com/blog.proglearn.com/wp-content/uploads/2020/08/image-22.png?fit=1024%2C555&ssl=1)
ちなみに、鳥脚の左に “-” のマークがついているのは、必ず1以上の関係がある、ということを示す場合に使います。
例えば、これが出身県IDだったら、0の場合があります。
北海道という地名は存在しますが、北海道出身の生徒さんが学校に必ず存在するかというと、そうではありませんよね。
そんな時はこんな風に”o”と鳥脚を組み合わせて表現します。
![](https://i2.wp.com/blog.proglearn.com/wp-content/uploads/2020/08/image-23.png?fit=1024%2C474&ssl=1)
〇〇から見た〇〇で関係性を整理できましたね!
頭がこんがらがった時はみなさんも落ち着いて、〇〇から見た〇〇で考えてみましょう♪