この記事では、
- リレーションとは
- リレーションのメリット
- リレーションの種類
- 1:N, N:1の場合に設定する参照、親子
について説明します。
Dataverse内のリレーションとは?
リレーション(シップ)は、テーブル間のデータの関連性(リレーションシップ)を定義する方法です。
Dataverse内でリレーションを設定することにより、異なるテーブル間でデータを結びつけ、関連情報を追跡できるようになります。
わざわざ有償のDataverseを使用しているということは、複数のテーブルが存在する複雑なシステム構成になっているはずです。
その複雑なテーブル同士の関係性を整理し、それぞれを正しく紐づけることができるのがリレーションシップです。
リレーションを使用するメリット
Dataverseでリレーションを使用するメリットです。
1レコードにテーブル情報を格納できる
SharePointリストやExcelをデータソースとする場合、1つのセルの中にテーブル情報を格納したい場合は選択肢列やテキストを,区切りで格納するなどの工夫が必要でした。
また上記の方法では一列の情報しか格納できないため、複数列の情報を格納する場合にはLookUp関数を用いた擬似的なリレーションシップを行う必要がありました。
これらの方法ではデータの整合性に難があり、またパフォーマンスも悪くなる恐れがあります。
Dataverseのリレーション機能を用いることで、1レコードに別テーブルの複数レコードを確実に紐づけることが可能になります。
テーブルの正規化ができる
正規化とは、ChatGPTにわかりやすく説明してもらいましょう。
この説明を図解すると以下のようになります。
SharePointでテーブルを作成するとメーカー列に重複があったり、逆に使用しない列がレコードによっては発生し、これによってデータ量の増大・パフォーマンスの低下に繋がります。
テーブルの正規化を行うことでこのようなムラ、無駄をなくすことができます。この正規化を行うためにもリレーションは必要です。
Dataverseのリレーションの種類
Dataverse内で使用できる主要なリレーションの種類には、以下の3つがあります。
1:N リレーション(One-to-Many、一対多)
1:Nリレーションは、一つの親レコードが複数の子レコードリレーションされる場合に使用されます。
これは、親テーブルと子テーブル間の上位・下位のような階層的な関係を表現するのに適しています。
例えば一人の顧客が複数の注文をする場合、1:Nリレーションを使用してこれらを関連付けることができます。
N:1 リレーション(Many-to-One、多対一)
1:Nの逆というだけです。
N:N リレーション(Many-to-Many、多対多)
N:Nリレーションは、複数のエンティティ間で多対多の関係を表現するために使用されます。
例えば一度の注文で複数の商品を注文する場合、N:Nリレーションを使用してこれらの関連付けを行うことができます。
まとめ
Dataverseのリレーションは、データのリレーションシップを定義し、データベースをより効果的に構築し、データの整合性を維持するための重要な要素です。
1:N、N:1、N:Nのリレーションを適切に活用することで、データの構造化と管理が容易になり、アプリケーションの開発と保守がスムーズに行えます。
ぜひ活用していきましょう!
コメント