Azure Data Studio のテーブル デザイナー
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance
Azure Data Studio のテーブル デザイナーでは、Transact-SQL エディターと共に、テーブル固有のプログラミング オブジェクトを含む SQL Server データベース用のテーブル構造を作成および編集するための視覚的なエディター エクスペリエンスが提供されます。
SQL テーブル デザイナーが選ばれる理由
Azure Data Studio のテーブル デザイナーを使用すると、ユーザーは、Transact-SQL ステートメントを記述しなくても、データベース テーブル、主および外部キー、インデックス、制約をグラフィカル ユーザー インターフェイス (GUI) で簡単に構成および管理できます。
テーブル デザイナーの概要
テーブル デザイナーを構成するペインは、3 つの異なるペインに分かれています。 最初のペインは、テーブル デザインの [Overview/General](概要/全般) ペインです。 これは、[列]、[主キー] と [外部キー]、[CHECK 制約]、[インデックス]、および [全般] タブで構成されます。2 番目のペインは、テーブルのプロパティを定義するために使用されます。 最後に、3 番目のペインは、読み取り専用 T-SQL スクリプト用のスクリプト ペインであり、テーブル デザイナー GUI でリアルタイムで実行されるアクション、およびテーブル デザイナーで実行されるアクションに関連する成功またはエラー メッセージが表示されます。 これらのペインのサイズは、マウスをドラッグすることで自由に調整できます。
テーブル デザイナーを使用してデータベース テーブルを作成および更新する
テーブルを作成するには、データベースが存在する SQL Server 接続をアクティブにする必要があります。 これは、オブジェクト エクスプローラーでサーバー接続アイコンの右下隅に緑色のドットによって示されます (下図)。 赤色の場合 (これは、接続が非アクティブであることを意味します)、オブジェクト エクスプローラーでサーバー接続名を選択して接続をアクティブにします。 SQL Server への接続に関するチュートリアルについては、チュートリアルの記事「Azure Data Studio を使用して、SQL Server に接続してクエリを実行する」を参照してください。
この記事には AdventureWorks2022
サンプル データベースが必要です。このサンプル データベースは、Microsoft SQL Server サンプルとコミュニティ プロジェクトのホーム ページからダウンロードできます。
テーブルの作成
AdventureWorks2022
データベース ドロップダウンで [テーブル] フォルダーを右クリックし、[新しいテーブル] を選択します。[テーブル名] フィールドの値を既定の NewTable から City に変更します。 [テーブルのプロパティ] フィールドには、このテーブルの説明を自由に追加できます。
[名前] 列グリッドで、提供されている既定値 column_1 を ID に変更します。 [主キー] 列のチェックボックスをオンにして、これをテーブルの主キーにします。 主キーの詳細については、主キーに関するこちらの SQL Server ドキュメントを参照してください。
手順 3 を繰り返して、2 つの新しい[都市名] 列と [人口] 列を追加します。 これら 2 つの列の [主キー] と [Null を許容] チェックボックスをオフにします。 [移動] 列にカーソルを位置付けてマウスをドラッグすると、列をユーザー設定に合わせて再配置できることに注意してください。
注意
既定のテーブルに変更が加えられると、生成される読み取り専用の Transact-SQL コードが変更されることに注意してください。
新しいテーブルの設計が完了したので、この変更を
AdventureWorks2022
データベースに公開する必要があります。 これを行うには、次に示すようにして [発行] アイコンを選択します。 ローカル デバイスの save コマンドのショートカットを使用して公開することもできます。このアイコンを選択すると、プレビュー ダイアログ ウィンドウが表示されます。これには、テーブルの作成で実行されたすべてのアクションが示されます。 また、変更を
AdventureWorks2022
データベースに直接公開するか、またはクエリ エディターで編集可能な SQL スクリプトを生成するためのオプションも提供されます。このスクリプトは、データベースに公開するためにファイルとしてローカルで保存するか、実行することができます。クエリ エディターで T-SQL スクリプトを実行するには、次に示す [実行] ボタンを選択します。
必ず、スクリプトを実行するクエリ エディターをデータベースに接続してください。 このためには、クエリ エディター ウィンドウで [接続] を選択します。 これにより、[接続] ダイアログ ボックスが表示されます。ここでは、データベース スクリプトを実行するサーバーの資格情報を入力できます。
注意
テーブル デザインは、クエリ エディターで T-SQL スクリプトを編集することによって手動で変更できることに注意してください。 Transact-SQL スクリプトを正常に実行するには、SQLCMD モードを有効にする必要があります。 このためには、上図に示すこのボタンを切り替えます (上図では、既に有効になっているため、[SQLCMD を無効にする] が表示されています)。 この詳細については、SQLCMD ユーティリティのドキュメントを参照してください。
テーブル デザイナーで行った変更を保存することを忘れないでください。 変更を保存しないと、次に示すように黒い網掛けのドットが表示されます。
次の図では、黒色のドットがない場合を示しています。これにより、作業が保存されていることがわかります。
注意
[公開] ダイアログに表示される警告は、テーブルの作成と移行に関連するため、すべての警告に注意してください。 これらは、特に大規模なデータ セットを操作している場合に発生する可能性のあるデータ損失やシステムのダウンタイムに備えて、ガイドを提供します。
テーブルを公開したら、Tables* フォルダーを右クリックし、[更新] を選択します。 これにより、フォルダーが新しいテーブルで再作成されます。
既存のテーブルの編集
テーブル デザイナー内の既存のテーブルを編集するには、オブジェクト エクスプローラーでそのテーブルを右クリックし、メニューから [デザイン] を選択します。 このオプションによって、テーブル デザイナー ビューが表示され、必要に応じて編集を行うことができます。 次を参照してください。
列のプロパティは、上に示すようにメイン ペインで変更するか、プロパティ ペインで変更することができます。 [列のプロパティ] ペインを表示するには、次に示すように、列 (たとえば、[都市名]) を選択します。 プロパティ ペインに、[都市名] 列固有のプロパティが表示されます。 変更を保存して公開することを忘れないでください。
テーブルの削除
テーブルを削除するには、オブジェクト エクスプローラーで tables テーブル フォルダーを右クリックします。 テーブルが見つかったら、そのテーブルを右クリックし、[Script as Drop](削除時のスクリプト) を選択します。 これにより、実行するとテーブルを削除するスクリプトを含むクエリ エディター ウィンドウが開きます。 [実行] を選択してテーブルを削除します。
CHECK 制約
CHECK 制約は、列に格納できる値の範囲を制限するために使用されます。 列に対して CHECK 制約を定義すると、その列に対して特定の値のみが許可されます。 次の例では、0 未満のエントリを許可しない CHECK 制約を [人口] 列に追加する方法を示します。
City テーブルで [CHECK 制約] タブを選択し、[+ 新しい CHECK 制約] を選択します。
これにより、追加する制約の [名前] と [式] を定義できるテーブルが設定されます。 既定の名前と式が提供されています。 [名前] フィールドで、この既定の名前をクリアし、「人口」と入力します。 [式] フィールドで、既定の式をクリアし、式「[人口]>=(0)」を入力します。 この CHECK 制約をデータベースに公開することを忘れないでください。
データベース内のテーブル間の性質に応じて、必要な数の制約を追加できます。 CHECK 制約の詳細については、CHECK 制約のドキュメントを参照してください。
注意
テーブル レベルでオブジェクト エクスプローラーを更新して、テーブルの削除を確認することを忘れないでください。
外部キー
外部キーは、テーブル内のデータ間のリンクを確立して適用するために使用されます。 外部キーの詳細については、主キーと外部キーの制約に関するこちらのドキュメントを参照してください。この例では、PersonProfile という名前の別のテーブルを作成し、外部キーを使用して、このテーブルを City テーブルにマップします。
ID(int、主キー)、名前(nvarchar(50))、年齢(int) の 3 つの列を含む PersonProfile という名前のテーブルを作成します。 [名前] 列と [年齢] 列を null 非許容に設定します。
[外部キー] タブを選択し、[+ 新しい外部キー] を選択します。 ここでは、ID を使用して PersonProfile テーブルを City マップするため、[外部キー] ドロップ ダウンを選択し、[dbo.City] を選択します。 次に、[外部キーのプロパティ] ウィンドウの [+ 新しい列マッピング] の下で、[外部キー] ドロップダウンを選択し、[ID] を選択します。 これは、City テーブルの ID です。 データベースに公開することを忘れないでください。