次の方法で共有


テーブル デザイナーを使用して 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 を使用してパターン マッチング クエリを実行する」を参照してください。

ノード テーブルの作成

  1. テーブルを作成し、City という名前を付けます。 この新しいテーブルを保存する前に、[テーブルのプロパティ] ペインで、[グラフ テーブル] オプションをドロップダウンで Node に変更します。

    Cities ノード グラフ テーブルを作成する方法を示すテーブル デザイナーのスクリーンショット。

    スクリプトが更新され、"as node" 構文が含まれるようになったことにご注意ください。

    この構成が設定されたら、この更新をデータベースに発行します。 発行されると、上に示されているように、そのノード ID 用の新しい列が作成され、この ID がスクリプト ペインで参照されます。

  2. 別のノード テーブルを作成し、上記と同じ設定で Person という名前を付けます。

エッジ テーブルの作成

  1. 前に説明したように、エッジ テーブル "lives" を作成します。 これを行うには、[テーブル] フォルダーを右クリックして新しいテーブルを作成します。 このテーブルの名前を既定値から "lives" に変更します。 これがエッジ テーブルであることを示すため、[テーブルのプロパティ] ペインで [グラフ テーブルの種類] ドロップダウンをクリックし、[エッジ] を選択します。 以下を参照してください。

    エッジ テーブルの作成方法を示すテーブル デザイナーのスクリーンショット。

  2. ノードとエッジ グラフの間のリレーションシップを作成するため、[エッジ制約] を選択します。 エッジ制約の詳細については、エッジ制約に関するドキュメントを参照してください。 [新しいエッジ制約] の横にあるプラス記号を選択して、新しい制約を作成します。 次に示すように、"EC-1" という既定の名前が指定されます。 名前は自由に変更できます。 このチュートリアルでは、そのままにしておきます。

    エッジ制約の作成方法を示すテーブル デザイナーのスクリーンショット。

  3. 上の図のスクリプト ペインにあるように、句が指定されていないことを示す警告が表示されます。 PersonCity ノード グラフ テーブルの間にエッジ制約を確立する句を作成する必要があります。 [エッジ制約のプロパティ] ペインで、[句] の下の [新しい句] を選択します。 FromTo の値が [句] セクションに表示されます。 [テーブルから] にカーソルを合わせてドロップダウンを表示し dbo.Persons を選択します。また、[テーブルへ] ドロップダウンで dbo.City を選択します。 作業内容を保存するため、必ず変更を公開してください。 上記の手順を実行すると、テーブル デザイナー ビューは次に示す図のようになります。

    エッジ制約に句を追加する方法を示すテーブル デザイナーのスクリーンショット。

    データベース内の異なるテーブル間のリレーションシップの性質に応じて、必要な数だけ制約を追加できます。

次の手順