前回までは構造設計の検索について学習しました。
今回は構造設計の「データと構造」について学びます。
リレーションシップグラフ
リレーションシップ >>> テーブルとテーブルを関連付けること
リレーションシップグラフ >>> リレーションシップを見える化したグラフ
簡単にいうと構造設計(データの世界)とレイアウトを結ぶもの。
それぞれのテーブルに存在するテーブルオカレンス(TO)という経路を通り、構造設計に存在するデータがレイアウトに表示される。
少し分かりにくいですが、TOの経路の終点はレイアウトに存在します。
タスクというレイアウトに違うテーブルである添付ファイルを表示させたい場合、添付ファイルTOを通過し、タスクTOを通過する必要があります。
そのために、添付テーブルのフィードに外部キーを設定し、タスクテーブルの主キーと関連付る事で特定の添付ファイルがタスクTOを通過し、タスクのレイアウトに表示されます。
よって、構造設計で外部キーなどのリレーションシップをしっかりと設定する事で、リレーションシップグラフで確認した際に希望構造が視覚的に確認できる。
データモデリング(正規化)
データモデリング(正規化) >>> テーブルとフィールドを設計すること
大きく分けて7ステップ。
1、情報の集まり毎に「テーブル」を作成
2、全てのテーブルにハウスモーピングフィールドを作成
ハウスモーピングフィールド >>> データの維持に最低限必要なフィールド
新規でテーブルを作成すると自動で作られる。
デフォルトで
- 主キー >>> レコード認識(IDのようなもの)に使用。テーブルとテーブルの関連は主キーを見て判断する。
- 作成者
- 修正者
- 作成情報タイムスタンプ
- 修正情報タイムスタンプ
がある。用途に応じて変更もできる。
3、テーブル毎に必要な「フィールド」を作成。
4、複数発生することについては、別のテーブルに新規作成。 中間テーブル
5、主キー同士の関連付けを考える。
6、必要に応じて「外部キー」フィールドを設定。
7、必要に応じて見直す。
テーブル間の関係
主キーと主キーの関係は3つ。
- 1対1 同じテーブルに定義すれば良い。
- 1対多 OK
- 多対多 NG
多対多の関係は良くないため、間に中間テーブルを作る事で解消する。
中間テーブルを作る事で1対多の関係になる。
中間テーブルの特徴として、外部キーを2つ以上持つことになる。
テーブル間の関係を表した図をER図という。

今後重要になる考え方💡
コンテキスト >>> 立ち位置(どのレイアウトにいるか)⇨どのTOにいるか⇨どのテーブルのデータと繋がっていて、どのデータが見れるのか。
コメント