Visual Studio でデータベースを作成し、テーブルを追加する

適用対象:yesVisual Studio noVisual Studio for Mac noVisual Studio Code

Visual Studio を使用して、SQL Server Express LocalDB のローカル データベース ファイルを作成および更新できます。 また、Visual Studio の SQL Server オブジェクト エクスプローラー ツール ウィンドウで Transact-SQL ステートメントを実行して、データベースを作成することもできます。 このトピックでは、 .mdf ファイルを作成し、テーブル デザイナーを使用してテーブルとキーを追加します。

必須コンポーネント

このチュートリアルを実行するには、Visual Studio にインストールされている .NET デスクトップ開発データの保存と処理のワークロードが必要です。 これらをインストールするには、Visual Studio インストーラーを開き、変更する Visual Studio のバージョンの横にある [変更] (または [その他]>[変更] ) を選択します。

Note

この記事の手順は、.NET Framework Windows フォーム プロジェクトにのみ適用され、.NET Core Windows フォーム プロジェクトには適用されません。

プロジェクトとローカル データベース ファイルを作成する

  1. 新しい Windows フォーム アプリ (.NET Framework) プロジェクトを作成し、SampleDatabaseWalkthrough という名前を付けます。

  2. メニュー バーで、 [プロジェクト]>[新しい項目の追加] の順に選択します。

  3. 項目テンプレートの一覧で、下へスクロールし、 [サービス ベースのデータベース] を選択します。

    Add New item > Service-based database

    Add New item > Service-based database

  4. このデータベースに SampleDatabase という名前を付け、 [追加] をクリックします。

データ ソースの追加

  1. [データ ソース] ウィンドウが開いていない場合は、Shift+Alt+D キーを押すか、メニュー バーで [表示]>[その他のウィンドウ]>[データ ソース] の順に選択して開きます。

  2. [データ ソース] ウィンドウで、 [新しいデータ ソースの追加] を選択します。

    Add new data source in Visual Studio

    Add new data source in Visual Studio

    データ ソース構成ウィザードが開きます。

  3. [データ ソースの種類の選択] ページで、 [データベース] を選択し、 [次へ] を選択します。

  4. [データベース モデルの選択] ページで、 [次へ] を選択して既定値 (データセット) を受け入れます。

  5. [データ接続の選択] ページで、ドロップダウン リストから SampleDatabase.mdf ファイルを選択し、 [次へ] を選択します。

  6. [アプリケーション構成ファイルに接続文字列を保存] ページで、 [次へ] を選択します。

  7. [データベース オブジェクトの選択] ページに、データベースにオブジェクトが含まれていないことを示すメッセージが表示されます。 [完了] を選択します。

データ接続のプロパティを表示する

データ接続の [プロパティ] ウィンドウを開くと、SampleDatabase.mdf ファイルの接続文字列を表示できます。

  • [表示]>[SQL Server オブジェクト エクスプローラー] の順に選択して、 [SQL Server オブジェクト エクスプローラー] ウィンドウを開きます。 [(localdb)\MSSQLLocalDB]>[データベース] の順に展開し、SampleDatabase.mdf を右クリックして、 [プロパティ] を選択します。

  • または、 [表示]>[サーバー エクスプローラー] の順に選択することもできます (このウィンドウがまだ開いていない場合)。 [データ接続] ノードを展開して SampleDatabase.mdf を右クリックし、 [プロパティ] を選択して、[プロパティ] ウィンドウを開きます。

    ヒント

    [データ接続] ノードを展開できない場合、または SampleDatabase.mdf 接続が表示されていない場合は、サーバー エクスプローラーのツール バーの [データベースへの接続] ボタンを選択します。 [接続の追加] ダイアログ ボックスの [データ ソース] で、 [Microsoft SQL Server データベース ファイル] が選択されていることを確認し、SampleDatabase.mdf ファイルを参照して選択します。 [OK] を選択して、接続の追加を完了します。

テーブル デザイナーを使用してテーブルとキーを作成する

このセクションでは、2 つのテーブル、各テーブルの主キー、サンプル データのいくつかの行を作成します。 また、外部キーを作成して、一方のテーブルのレコードがもう一方のテーブルのレコードにどのように対応するかを指定します。

Customers テーブルを作成する

  1. サーバー エクスプローラーで、 [データ接続] ノードを展開し、 [SampleDatabase.mdf] ノードを展開します。

    [データ接続] ノードを展開できない場合、または SampleDatabase.mdf 接続が表示されていない場合は、サーバー エクスプローラーのツール バーの [データベースへの接続] ボタンを選択します。 [接続の追加] ダイアログ ボックスの [データ ソース] で、 [Microsoft SQL Server データベース ファイル] が選択されていることを確認し、SampleDatabase.mdf ファイルを参照して選択します。 [OK] を選択して、接続の追加を完了します。

  2. [テーブル] を右クリックし、 [新しいテーブルの追加] を選択します。

    [テーブル デザイナー] は、作成しているテーブルの 1 つの列を表す、1 つの既定の行のグリッドを開いて表示します。 行をグリッドに追加することによって、テーブルに列を追加します。

  3. グリッドで、次のエントリのそれぞれに行を追加します。

    列名 データ型 Null を許容
    CustomerID nchar(5) false (オフ)
    CompanyName nvarchar(50) false (オフ)
    ContactName nvarchar (50) true (オン)
    Phone nvarchar (24) true (オン)
  4. CustomerID 行を右クリックし、 [主キーの設定] を選択します。

  5. 既定の行 (Id) を右クリックし、 [削除] を選択します。

  6. スクリプト ペインの最初の行の次のサンプルのように更新して、Customers (顧客) をテーブルと名前を付けます:

    CREATE TABLE [dbo].[Customers]
    
  7. Customers テーブルにインデックス制約を追加します。 Phone 行の末尾にコンマを追加し、閉じかっこの前に次のサンプルを追加します。

    CONSTRAINT [PK_Customers] PRIMARY KEY ([CustomerID])
    

    次のような結果が表示されます。

    Table Designer with Customers table

    Table Designer with Customers table

  8. テーブル デザイナーの左上隅にある [更新] を選択するか、Shift+Alt+U キーを押します。

  9. [データベース更新のプレビュー] ダイアログ ボックスで、 [データベースの更新] を選択します。

    ローカル データベース ファイルに Customers テーブルが作成されます。

Orders テーブルを作成する

  1. 別のテーブルを追加し、次の表の各エントリの行を追加します。

    列名 データ型 Null を許容
    OrderID int false (オフ)
    CustomerID nchar(5) false (オフ)
    OrderDate datetime true (オン)
    OrderQuantity int true (オン)
  2. OrderID を主キーとして設定した後、既定の行を削除します。

  3. スクリプト ペインの最初の行の次のサンプルのように更新して、Orders (注文) をテーブルと名前を付けます:

    CREATE TABLE [dbo].[Orders]
    
  4. Customers テーブルにインデックス制約を追加します。 OrderQuantity 行の末尾にコンマを追加し、閉じかっこの前に次のサンプルを追加します。

    CONSTRAINT [PK_Orders] PRIMARY KEY ([OrderId])
    
  5. テーブル デザイナーの左上隅にある [更新] を選択するか、Shift+Alt+U キーを押します。

  6. [データベース更新のプレビュー] ダイアログ ボックスで、 [データベースの更新] を選択します。

    ローカル データベース ファイルに Orders テーブルが作成されます。 サーバー エクスプローラーで [テーブル] ノードを展開すると、2 つのテーブルが表示されます。

    Tables node expanded in Server Explorer

    Tables node expanded in Server Explorer

    表示されない場合は、ツール バーの [更新] ボタンを押します。

外部キーを作成する

  1. Orders テーブルのテーブル デザイナー グリッドの右側にあるコンテキスト ペインで、 [外部キー] を右クリックし、 [新しい外部キーを追加] を選択します。

    Add a foreign key in Table Designer in Visual Studio

    Add a foreign key in Table Designer in Visual Studio

  2. 表示されるテキスト ボックスで、ToTable というテキストを Customers に置き換えます。

  3. T-SQL ペインで、次のサンプルに合わせて最後の行を更新します。

    CONSTRAINT [FK_Orders_Customers] FOREIGN KEY ([CustomerID]) REFERENCES [Customers]([CustomerID])
    
  4. テーブル デザイナーの左上隅にある [更新] を選択します (Shift+Alt+U キー)。

  5. [データベース更新のプレビュー] ダイアログ ボックスで、 [データベースの更新] を選択します。

    外部キーが作成されます。

テーブルにデータを読み込む

  1. サーバー エクスプローラーまたは SQL Server オブジェクト エクスプローラーで、サンプル データベースのノードを展開します。

  2. [テーブル] ノードのショートカット メニューを開き、 [最新の情報に更新] を選択した後、 [テーブル] ノードを展開します。

  3. Customers テーブルのショートカット メニューを開き、 [テーブル データの表示] または [データの表示] を選択します。

  4. 数人の顧客に任意のデータを追加します。

    顧客 ID には任意の 5 文字を指定できます。この手順では、後で使用するために、少なくとも 1 つを選択します。

  5. Orders テーブルのショートカット メニューを開き、 [テーブル データの表示] または [データの表示] を選択します。

  6. いくつかの注文のデータを追加します。 各行を入力するごとに、行がデータベースに保存されます。

    重要

    すべての注文 ID および注文数量が整数であり、各顧客 ID が、Customers テーブルの CustomerID 列で指定した値と一致することを確認します。

おめでとうございます。 これで、テーブルを作成し、外部キーを使用してそれらをリンクさせ、データを追加する方法がわかりました。

関連項目