テーブル デザイナーを使用して Azure Data Studio でグラフ テーブルを作成する
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance
グラフ テーブルは、ノードとエッジのテーブル リレーションシップを使用して、データベース内のエンティティ間のリレーションシップを確立するために使用されます。 Azure Data Studio では、GUI でこれらのリレーションシップを直接簡単に作成できます。T-SQL コードの長い行を手動で入力する必要がありません。 グラフ テーブルの詳細については、SQL グラフ アーキテクチャに関するこちらのドキュメントを参照してください。 テーブルの種類は、[接続] ペインでテーブル名の左側に表示されたアイコンによって確認できます。 次に示すように、1 つの点はノード グラフ テーブルを表し、陰影のない 2 つの点はエッジ グラフ テーブルを表します。
グラフ テーブルの作成は、[プロパティ] ペインで直接行います。
注意
グラフ テーブルを作成するには、新しいテーブルを作成する必要がある点にご注意ください。 既存のテーブルに対して、グラフ テーブルを作成できません。
次の例では、GUI を使用して Person と City という 2 つのノード テーブルを作成し、"lives" という名前のエッジ テーブルを作成して、これらの 2 つのノード テーブル間のリレーションシップ (Person lives in City など) を確立するためのエッジ制約を指定します。 この例の T-SQL スクリプト バージョンについては、「グラフ データベースを作成し、T-SQL を使用してパターン マッチング クエリを実行する」を参照してください。
ノード テーブルの作成
テーブルを作成し、City という名前を付けます。 この新しいテーブルを保存する前に、[テーブルのプロパティ] ペインで、[グラフ テーブル] オプションをドロップダウンで Node に変更します。
スクリプトが更新され、"as node" 構文が含まれるようになったことにご注意ください。
この構成が設定されたら、この更新をデータベースに発行します。 発行されると、上に示されているように、そのノード ID 用の新しい列が作成され、この ID がスクリプト ペインで参照されます。
別のノード テーブルを作成し、上記と同じ設定で Person という名前を付けます。
エッジ テーブルの作成
前に説明したように、エッジ テーブル "lives" を作成します。 これを行うには、[テーブル] フォルダーを右クリックして新しいテーブルを作成します。 このテーブルの名前を既定値から "lives" に変更します。 これがエッジ テーブルであることを示すため、[テーブルのプロパティ] ペインで [グラフ テーブルの種類] ドロップダウンをクリックし、[エッジ] を選択します。 以下を参照してください。
ノードとエッジ グラフの間のリレーションシップを作成するため、[エッジ制約] を選択します。 エッジ制約の詳細については、エッジ制約に関するドキュメントを参照してください。 [新しいエッジ制約] の横にあるプラス記号を選択して、新しい制約を作成します。 次に示すように、"EC-1" という既定の名前が指定されます。 名前は自由に変更できます。 このチュートリアルでは、そのままにしておきます。
上の図のスクリプト ペインにあるように、句が指定されていないことを示す警告が表示されます。 Person と City ノード グラフ テーブルの間にエッジ制約を確立する句を作成する必要があります。 [エッジ制約のプロパティ] ペインで、[句] の下の [新しい句] を選択します。 From と To の値が [句] セクションに表示されます。 [テーブルから] にカーソルを合わせてドロップダウンを表示し dbo.Persons を選択します。また、[テーブルへ] ドロップダウンで dbo.City を選択します。 作業内容を保存するため、必ず変更を公開してください。 上記の手順を実行すると、テーブル デザイナー ビューは次に示す図のようになります。
データベース内の異なるテーブル間のリレーションシップの性質に応じて、必要な数だけ制約を追加できます。