チュートリアル:SSMS を使用して Azure SQL Database 内の単一データベースでリレーショナル データベースを設計するTutorial: Design a relational database in a single database within Azure SQL Database using SSMS

Azure SQL データベースは、Microsoft Cloud (Azure) のリレーショナルなサービスとしてのデータベース (DBaaS) です。Azure SQL database is a relational database-as-a-service (DBaaS) in the Microsoft Cloud (Azure). このチュートリアルでは、Azure Portal および SQL Server Management Studio (SSMS) を使用して以下の操作を行う方法を学習します。In this tutorial, you learn how to use the Azure portal and SQL Server Management Studio (SSMS) to:

  • Azure portal を使用して単一データベースを作成する*Create a single database using the Azure portal*
  • Azure portal を使用してサーバーレベルの IP ファイアウォール規則を設定するSet up a server-level IP firewall rule using the Azure portal
  • SSMS を使用してデータベースに接続するConnect to the database with SSMS
  • SSMS のテーブルを作成するCreate tables with SSMS
  • BCP を使用してデータを一括で読み込むBulk load data with BCP
  • SSMS を使用してデータを照会するQuery data with SSMS

*Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。*If you don't have an Azure subscription, create a free account before you begin.

注意

このチュートリアルでは、単一データベースを使用しています。For the purpose of this tutorial, we are using a single database. エラスティック プールでプールされたデータベース、またはマネージド インスタンスのインスタンス データベースを使用することもできます。You could also use a pooled database in an elastic pool or an instance database in a managed instance. マネージド インスタンスへの接続については、以下のマネージド インスタンスのクイック スタートを参照してください。クイック スタート:Azure SQL Database Managed Instance に接続するように Azure VM を構成する」および「クイック スタート:オンプレミスから Azure SQL Database Managed Instance へのポイント対サイト接続を構成するFor connectivity to a managed instance, see these managed instance quickstarts: Quickstart: Configure Azure VM to connect to an Azure SQL Database Managed Instance and Quickstart: Configure a point-to-site connection to an Azure SQL Database Managed Instance from on-premises.

前提条件Prerequisites

このチュートリアルを完了するには、以下がインストールされていることを確認してください。To complete this tutorial, make sure you've installed:

Azure portal にサインインしますSign in to the Azure portal

Azure Portal にサインインします。Sign in to the Azure portal.

空の単一データベースを作成するCreate a blank single database

Azure SQL Database の単一データベースは、定義済みの一連のコンピューティング リソースとストレージ リソースを使用して作成されます。A single database in Azure SQL Database is created with a defined set of compute and storage resources. データベースは Azure リソース グループ内に作成され、データベース サーバーを使用して管理されます。The database is created within an Azure resource group and is managed using an database server.

空の単一データベースを作成するには、次の手順に従います。Follow these steps to create a blank single database.

  1. Azure Portal の左上隅にある [リソースの作成] をクリックします。Click Create a resource in the upper left-hand corner of the Azure portal.

  2. [新規] ページで、[Azure Marketplace] セクションで [データベース] を、[おすすめ] セクションで [SQL Database] をクリックします。On the New page, select Databases in the Azure Marketplace section, and then click SQL Database in the Featured section.

    空のデータベースを作成

  3. 前の画像で示されているように、[SQL Database] のフォームに次の情報を入力します。Fill out the SQL Database form with the following information, as shown on the preceding image:

    SettingSetting       推奨値Suggested value 説明Description
    データベース名Database name yourDatabaseyourDatabase 有効なデータベース名については、「データベース識別子」を参照してください。For valid database names, see Database identifiers.
    サブスクリプションSubscription yourSubscriptionyourSubscription サブスクリプションの詳細については、サブスクリプションに関するページを参照してください。For details about your subscriptions, see Subscriptions.
    リソース グループResource group yourResourceGroupyourResourceGroup 有効なリソース グループ名については、名前付け規則と制限に関するページを参照してください。For valid resource group names, see Naming rules and restrictions.
    [ソースの選択]Select source 空のデータベースBlank database 空のデータベースを作成するように指定します。Specifies that a blank database should be created.
  4. [サーバー] をクリックして既存のデータベース サーバーを使用するか、新しいデータベース サーバーを作成して構成します。Click Server to use an existing database server or create and configure a new database server. 既存のサーバーを選択するか、[新しいサーバーの作成] をクリックして [新しいサーバー] フォームに次の情報を入力します。Either select an existing server or click Create a new server and fill out the New server form with the following information:

    SettingSetting       推奨値Suggested value 説明Description
    サーバー名Server name グローバルに一意の名前Any globally unique name 有効なサーバー名については、名前付け規則と制限に関するページを参照してください。For valid server names, see Naming rules and restrictions.
    サーバー管理者ログインServer admin login 有効な名前Any valid name 有効なログイン名については、「データベース識別子」を参照してください。For valid login names, see Database identifiers.
    パスワードPassword 有効なパスワードAny valid password パスワードには 8 文字以上が含まれていること、また、大文字、小文字、数字、英数字以外の文字のうち、3 つのカテゴリの文字が使用されていることが必要です。Your password must have at least eight characters and must use characters from three of the following categories: upper case characters, lower case characters, numbers, and non-alphanumeric characters.
    場所Location 有効な場所Any valid location リージョンについては、「Azure リージョン」を参照してください。For information about regions, see Azure Regions.

    データベース サーバーの作成

  5. [選択] をクリックします。Click Select.

  6. [価格レベル] をクリックして、サービス レベル、DTU または仮想コア数、およびストレージの容量を指定します。Click Pricing tier to specify the service tier, the number of DTUs or vCores, and the amount of storage. DTU または仮想コア数とストレージに関して、サービス レベルごとに利用できるオプションを確認してください。You may explore the options for the number of DTUs/vCores and storage that is available to you for each service tier.

    サービス レベル、DTU または仮想コアの数、およびストレージの容量を選択したら、[適用] をクリックします。After selecting the service tier, the number of DTUs or vCores, and the amount of storage, click Apply.

  7. 空のデータベースの照合順序を入力します (このチュートリアルでは既定値を使用)。Enter a Collation for the blank database (for this tutorial, use the default value). 照合順序の詳細については、「Collations (照合順序)」を参照してください。For more information about collations, see Collations

  8. これで SQL Database フォームの入力が完了したので、[作成] をクリックして、単一データベースをプロビジョニングします。Now that you've completed the SQL Database form, click Create to provision the single database. この手順には数分かかることがあります。This step may take a few minutes.

  9. ツール バーの [通知] をクリックして、デプロイ プロセスを監視します。On the toolbar, click Notifications to monitor the deployment process.

    通知

サーバーレベルの IP ファイアウォール規則を作成するCreate a server-level IP firewall rule

SQL Database サービスでは、サーバーレベルで IP ファイアウォールが作成されます。The SQL Database service creates an IP firewall at the server-level. このファイアウォールにより、外部のアプリケーションやツールは、ファイアウォール規則でその IP がファイアウォールの通過を許可されていない限り、サーバーおよびサーバー上のすべてのデータベースに接続できなくなります。This firewall prevents external applications and tools from connecting to the server and any databases on the server unless a firewall rule allows their IP through the firewall. 単一データベースに外部から接続できるようにするには、まず、IP アドレス (または IP アドレス範囲) に対する IP ファイアウォール規則を追加する必要があります。To enable external connectivity to your single database, you must first add an IP firewall rule for your IP address (or IP address range). 以下の手順に従って、SQL Database のサーバーレベルの IP ファイアウォール規則を作成します。Follow these steps to create a SQL Database server-level IP firewall rule.

重要

SQL Database サービスの通信は、ポート 1433 上で行われます。The SQL Database service communicates over port 1433. 企業ネットワーク内からこのサービスに接続しようとしても、ポート 1433 でのアウトバウンド トラフィックがネットワークのファイアウォールで禁止されている場合があります。If you are trying to connect to this service from within a corporate network, outbound traffic over port 1433 may not be allowed by your network's firewall. その場合、管理者がポート 1433 を開かない限り、単一データベースに接続することはできません。If so, you cannot connect to your single database unless your administrator opens port 1433.

  1. デプロイが完了したら、左側のメニューから [SQL データベース] をクリックし、SQL データベース ページで、yourDatabase をクリックします。After the deployment completes, click SQL databases from the left-hand menu and then click yourDatabase on the SQL databases page. お客様のデータベースの概要ページが開くと、完全修飾サーバー名 (yourserver.database.windows.net など) や追加の構成オプションが表示されます。The overview page for your database opens, showing you the fully qualified Server name (such as yourserver.database.windows.net) and provides options for further configuration.

  2. この完全修飾サーバー名をコピーします。これは、SQL Server Management Studio からお客様のサーバーとデータベースに接続するために使用します。Copy this fully qualified server name for use to connect to your server and databases from SQL Server Management Studio.

    サーバー名

  3. ツール バーで [Set server firewall](サーバー ファイアウォールの設定) をクリックします。Click Set server firewall on the toolbar. SQL Database サーバーの [ファイアウォール設定] ページが開きます。The Firewall settings page for the SQL Database server opens.

    サーバーレベルの IP ファイアウォール規則

  4. ツール バーの [クライアント IP の追加] をクリックし、現在の IP アドレスを新しい IP ファイアウォール規則に追加します。Click Add client IP on the toolbar to add your current IP address to a new IP firewall rule. IP ファイアウォール規則は、単一の IP アドレスまたは IP アドレスの範囲に対して、ポート 1433 を開くことができます。An IP firewall rule can open port 1433 for a single IP address or a range of IP addresses.

  5. [Save] をクリックします。Click Save. SQL Database サーバー上のポート 1433 を開いている現在の IP アドレスに対して、サーバーレベルの IP ファイアウォール規則が作成されます。A server-level IP firewall rule is created for your current IP address opening port 1433 on the SQL Database server.

  6. [OK] をクリックし、[ファイアウォール設定] ページを閉じます。Click OK and then close the Firewall settings page.

これで IP アドレスが IP ファイアウォールを通過できるようになりました。Your IP address can now pass through the IP firewall. SQL Server Management Studio やその他の任意のツールを使用して、単一データベースに接続できます。You can now connect to your single database using SQL Server Management Studio or another tool of your choice. 必ず、お客様が先ほど作成したサーバー管理者アカウントを使用してください。Be sure to use the server admin account you created previously.

重要

既定では、すべての Azure サービスで、SQL Database IP ファイアウォール経由のアクセスが有効になります。By default, access through the SQL Database IP firewall is enabled for all Azure services. すべての Azure サービスに対して無効にするには、このページの [オフ] をクリックします。Click OFF on this page to disable for all Azure services.

データベースへの接続Connect to the database

SQL Server Management Studio を使用して、単一データベースへの接続を確立します。Use SQL Server Management Studio to establish a connection to your single database.

  1. SQL Server Management Studio を開きます。Open SQL Server Management Studio.

  2. [サーバーへの接続] ダイアログ ボックスで、次の情報を入力します。In the Connect to Server dialog box, enter the following information:

    SettingSetting       推奨値Suggested value 説明Description
    サーバーの種類Server type データベース エンジンDatabase engine この値は必須です。This value is required.
    サーバー名Server name 完全修飾サーバー名The fully qualified server name たとえば、yourserver.database.windows.net などです。For example, yourserver.database.windows.net.
    認証Authentication SQL Server 認証SQL Server Authentication このチュートリアルで構成した認証の種類は "SQL 認証" のみです。SQL Authentication is the only authentication type that we've configured in this tutorial.
    ログインLogin サーバー管理者アカウントThe server admin account サーバーの作成時に指定したアカウントです。The account that you specified when you created the server.
    パスワードPassword サーバー管理者アカウントのパスワードThe password for your server admin account お客様がサーバーを作成したときに指定したパスワードです。The password that you specified when you created the server.

    [サーバーへの接続]

  3. [サーバーへの接続] ダイアログ ボックスの [オプション] をクリックします。Click Options in the Connect to server dialog box. [データベースへの接続] セクションに「yourDatabase」と入力して、このデータベースに接続します。In the Connect to database section, enter yourDatabase to connect to this database.

    サーバー上のデータベースに接続

  4. [接続] をクリックします。Click Connect. SSMS でオブジェクト エクスプローラー ウィンドウが開きます。The Object Explorer window opens in SSMS.

  5. オブジェクト エクスプローラーで、DatabasesyourDatabase の順に展開して、サンプル データベース内のオブジェクトを表示します。In Object Explorer, expand Databases and then expand yourDatabase to view the objects in the sample database.

    データベース オブジェクト

データベースのテーブルを作成するCreate tables in your database

Transact-SQL を用いた大学の生徒管理システムを構成する、4 つのテーブルのデータベース スキーマを作成します。Create a database schema with four tables that model a student management system for universities using Transact-SQL:

  • PersonPerson
  • コースCourse
  • 生徒Student
  • クレジットCredit

次の図は、これらのテーブルの相互関係を示しています。The following diagram shows how these tables are related to each other. テーブルの一部は、他のテーブル内の列を参照します。Some of these tables reference columns in other tables. たとえば Student テーブルは、Person テーブルの PersonId 列を参照します。For example, the Student table references the PersonId column of the Person table. このチュートリアルのテーブルの相互関係を把握するため、図を詳しく確認します。Study the diagram to understand how the tables in this tutorial are related to one another. 効果的なデータベース テーブル作成方法の詳細は、効果的なデータベース テーブルの作成を参照してください。For an in-depth look at how to create effective database tables, see Create effective database tables. データ型の選択については、データ型を参照してください。For information about choosing data types, see Data types.

注意

SQL Server Management Studio のテーブル デザイナーを使用して、テーブルを作成および設計することも可能です。You can also use the table designer in SQL Server Management Studio to create and design your tables.

テーブルのリレーションシップ

  1. オブジェクト エクスプローラーyourDatabase を右クリックし、[新しいクエリ] を選択します。In Object Explorer, right-click yourDatabase and select New Query. データベースに接続された空のクエリ ウィンドウが開きます。A blank query window opens that is connected to your database.

  2. クエリ ウィンドウで次のクエリを実行し、データベース内の 4 つのテーブルを作成します。In the query window, execute the following query to create four tables in your database:

    -- Create Person table
    CREATE TABLE Person
    (
        PersonId INT IDENTITY PRIMARY KEY,
        FirstName NVARCHAR(128) NOT NULL,
        MiddelInitial NVARCHAR(10),
        LastName NVARCHAR(128) NOT NULL,
        DateOfBirth DATE NOT NULL
    )
    
    -- Create Student table
    CREATE TABLE Student
    (
        StudentId INT IDENTITY PRIMARY KEY,
        PersonId INT REFERENCES Person (PersonId),
        Email NVARCHAR(256)
    )
    
    -- Create Course table
    CREATE TABLE Course
    (
        CourseId INT IDENTITY PRIMARY KEY,
        Name NVARCHAR(50) NOT NULL,
        Teacher NVARCHAR(256) NOT NULL
    )
    
    -- Create Credit table
    CREATE TABLE Credit
    (
        StudentId INT REFERENCES Student (StudentId),
        CourseId INT REFERENCES Course (CourseId),
        Grade DECIMAL(5,2) CHECK (Grade <= 100.00),
        Attempt TINYINT,
        CONSTRAINT [UQ_studentgrades] UNIQUE CLUSTERED
        (
            StudentId, CourseId, Grade, Attempt
        )
    )
    

    テーブルの作成

  3. オブジェクト エクスプローラーで、yourDatabaseTables ノードを展開すると、お客様が作成したテーブルが表示されます。Expand the Tables node under yourDatabase in the Object Explorer to see the tables you created.

    作成済み SSMS テーブル

テーブルにデータを読み込むLoad data into the tables

  1. お客様の Downloads フォルダーに sampleData という名前のフォルダーを作成し、お客様のデータベース用のサンプル データを格納します。Create a folder called sampleData in your Downloads folder to store sample data for your database.

  2. 次のリンクを右クリックし、それらを sampleData フォルダーに保存します。Right-click the following links and save them into the sampleData folder.

  3. コマンド プロンプト ウィンドウを開き、sampleData フォルダーに移動します。Open a command prompt window and navigate to the sampleData folder.

  4. 次のコマンドを実行して、サンプル データをテーブルに挿入します。serverdatabaseuserpassword の各値は、お客様の環境の値に置き換えてください。Execute the following commands to insert sample data into the tables replacing the values for server, database, user, and password with the values for your environment.

    bcp Course in SampleCourseData.txt -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t ","
    bcp Person in SamplePersonData.txt -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t ","
    bcp Student in SampleStudentData.txt -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t ","
    bcp Credit in SampleCreditData.txt -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t ","
    

これで、先ほど作成したテーブルにサンプル データが読み込まれました。You have now loaded sample data into the tables you created earlier.

データのクエリを実行するQuery data

データベース テーブルから情報を取得するには、次のクエリを実行します。Execute the following queries to retrieve information from the database tables. SQL クエリの記述について詳しくは、SQL クエリの記述に関するページを参照してください。See Write SQL queries to learn more about writing SQL queries. 最初のクエリでは 4 つのテーブルをすべて結合し、"Dominick Pope" の指導を受けた生徒のうち、成績が 75% を超えている生徒を検索します。The first query joins all four tables to find the students taught by 'Dominick Pope' who have a grade higher than 75%. 次のクエリでは 4 つのテーブルをすべて結合し、"Noe Coleman" がこれまでに登録したコースを検索します。The second query joins all four tables and finds the courses in which 'Noe Coleman' has ever enrolled.

  1. SQL Server Management Studio のクエリ ウィンドウで、次のクエリを実行します。In a SQL Server Management Studio query window, execute the following query:

    -- Find the students taught by Dominick Pope who have a grade higher than 75%
    SELECT  person.FirstName, person.LastName, course.Name, credit.Grade
    FROM  Person AS person
        INNER JOIN Student AS student ON person.PersonId = student.PersonId
        INNER JOIN Credit AS credit ON student.StudentId = credit.StudentId
        INNER JOIN Course AS course ON credit.CourseId = course.courseId
    WHERE course.Teacher = 'Dominick Pope'
        AND Grade > 75
    
  2. クエリ ウィンドウで次のクエリを実行します。In a query window, execute the following query:

    -- Find all the courses in which Noe Coleman has ever enrolled
    SELECT  course.Name, course.Teacher, credit.Grade
    FROM  Course AS course
        INNER JOIN Credit AS credit ON credit.CourseId = course.CourseId
        INNER JOIN Student AS student ON student.StudentId = credit.StudentId
        INNER JOIN Person AS person ON person.PersonId = student.PersonId
    WHERE person.FirstName = 'Noe'
        AND person.LastName = 'Coleman'
    

次の手順Next steps

このチュートリアルでは、多数の基本的なデータベース タスクについて学習しました。In this tutorial, you learned many basic database tasks. 以下の方法について学習しました。You learned how to:

  • 単一データベースを作成するCreate a single database
  • サーバーレベルの IP ファイアウォール規則を設定するSet up a server-level IP firewall rule
  • SQL Server Management Studio (SSMS) を使用した、データベースへの接続Connect to the database with SQL Server Management Studio (SSMS)
  • テーブルの作成Create tables
  • データの一括読み込みBulk load data
  • データのクエリ実行Query that data

次のチュートリアルでは、Visual Studio と C# を使用したデータベースの設計について学びます。Advance to the next tutorial to learn about designing a database using Visual Studio and C#.