今回はMicorsoft Power Platformで提供されている共通基盤データベース「Dataverse(データバース)」をテーマに、第2回目の今回はテーブル間のリレーションシップについてご紹介いたします。
前回の記事は「Dataverse」の概要やテーブル作成など基本的な使用方法についてご紹介しました。今回の記事では、「Dataverse」でのリレーションシップについてご紹介いたします。
「Dataverse」では、SQL Serverなど他のDBMS(データベース管理システム)と同様にリレーショナルデータベースとしての動作も行えるようになっています。
リレーションシップの作成
Dataverseでは、「一対多」、「多対一」、「多対多」のリレーションシップを作成することが可能です。リレーションシップの作成方法の前に「一対多」、「多対一」、「多対多」について考え方についてご紹介します。
一対多、多対一のリレーションシップ
「一対多」、「多対一」のリレーションシップについては、以下のようにテーブル間、それぞれの関連する項目同士で紐づけを行うリレーションシップとなります。以下の例の場合は「Orders」テーブル内の「CustomerID」と「Customer」テーブルの「CustomerID」を紐づけることにより、「Orders」テーブルから、「Customer」テーブルの「CompanyName」などを参照可能となります。
多対多のリレーションシップ
「多対多」のリレーションシップについては、次の図を使ってご説明します。
図を見ると「Supplier」テーブルの1行に対し「Shipper」テーブルの複数行が紐づいているのがお分かりになると思います。この関係性の場合だけの場合は「一対多」となりますが、「Shipper」テーブル側も同様に1行に対し、「Supplier」テーブルの複数行が紐づいています。この関係性が「多対多」のリレーションシップとなります。以下の図のように「中間テーブル」を用いて「多対多」のリレーションシップを表現している場合もありますが、Dataverseでは「中間テーブル」を介さずに、「多対多」のリレーションシップを構築することが可能です。
作成方法
「一対多」、「多対一」、「多対多」について考え方を整理したところで、画面からのリレーションシップの作成についてご紹介します。
「テーブル設定画面」、「スキーマ」エリアの「リレーションシップ」を選択し、リレーションシップ画面を開きます。画面上部の「新しいリレーションシップ」より作成を行います。
「多対一」、「一対多」、「多対多」それぞれを選択後、以下のように対象のテーブルを指定しリレーションシップを作成することが出来ます。
リレーションシップの作成については「一対多」、「多対一」に限り、検索列から作成する方法もあります。次回の記事では、実際の使用方法もあわせて解説していきたいと思います。
さいごに
今回の記事では、「Dataverse」でのリレーションシップの基本的な考え方と、作成方法についてご紹介しました。次回の記事ではリレーションシップの実用的な使用方法についてご紹介していきますので、そちらも是非ご覧ください。
弊社では「Dataverse」をはじめとした、SaaSサービスのWeb APIと連携可能なJavaScriptライブラリを提供しています。SaaSサービスのデータを利用した高機能なWebアプリケーションを作成したい方は、是非Webサイトをご確認ください。
JavaScript帳票ライブラリ「ActiveReportsJS(アクティブレポートJS)」と「Dataverse」の連携についてはこちらの記事でご紹介。