この投稿はMicrosoft PL-900の受験に向けた勉強資料をMS Learnページを参考にして作っています。
一発合格に向けて頑張りましょう!
リレーションシップについて理解する
- 効率的にスケーラブルなソリューションを構築するには異なるコンテナー(テーブル)にデータを分ける必要がある
→ コンテナーをひとつにして全部入れようとすると効率が悪るくなるかつ、動きまたはそれに対する理解も難しくなる
例)
- 販売注文を管理するシステムを作成する場合、以下が必要
- 製品一覧、在庫、品目のコスト、販売価格
- 顧客、顧客の住所や信用情報などのマスターリスト
- 売上の請求書の管理
→ 日付、請求書番号、営業担当者、住所や信用情報などの顧客情報、請求書の各項目の明細などの情報が含まれる - 明細
→ 販売した製品への参照情報、各製品のコスト、価格
→ 販売された数量に基づいて在庫数を減らしたりする機能
- 上記機能をサポートするために4つのテーブルを作成
- 顧客
- 製品
- Invoices
- 明細
- 各項目に対してテーブルを分け、紐づけることで高いパフォーマンスを実現および拡張、効率的なソリューションを構築できる
→ 同じデータを繰り返し格納したり、大量の空白データを含む大きな行をサポートしたりする必要がなくなる。 さらに、レポートの作成がはるかに簡単になる - テーブル間のリレーションシップ
→ 一般的に2タイプ(一対多、多対多)
→ Microsoft Dataverse でサポートされている- 一対多リレーションシップ
- 親子関係
- 上記の例では請求書テーブルが親、明細が子テーブル
- 1つの請求書は0個から複数の明細を持つ
- 1個の明細は1個の請求書のみ紐づくことができる
- 子行は親行なしでは存在しない
- 請求書番号のように親行を識別するために使用される値(ユニークで重複できない)をキーと呼ばれる
- 子行では親行の番号を格納していて、これを外部キーと呼ばれる
- 一対多リレーションシップ
- 複数のテーブルを分割するなど、効率的なソリューション設計をすることは難しいため、Microsoft Dataverseで用意されている標準テーブルを利用したらより簡単にソリューションを構築することができる