Tutorial: Entwerfen einer relationalen Datenbank in einer Einzeldatenbank in Azure SQL-Datenbank mit SSMSTutorial: Design a relational database in a single database within Azure SQL Database using SSMS

Azure SQL-Datenbank ist eine relationale DBaaS-Lösung (Database-as-a-Service) in Microsoft Cloud (Azure).Azure SQL database is a relational database-as-a-service (DBaaS) in the Microsoft Cloud (Azure). In diesem Tutorial erfahren Sie, wie Sie das Azure-Portal und SQL Server Management Studio (SSMS) für folgende Zwecke verwenden:In this tutorial, you learn how to use the Azure portal and SQL Server Management Studio (SSMS) to:

  • Erstellen einer Einzeldatenbank über das Azure-Portal*Create a single database using the Azure portal*
  • Einrichten einer IP-Firewallregel auf Serverebene mit dem Azure-PortalSet up a server-level IP firewall rule using the Azure portal
  • Herstellen einer Verbindung für die Datenbank mit SSMSConnect to the database with SSMS
  • Erstellen von Tabellen mit SSMSCreate tables with SSMS
  • Massenladen von Daten mit BCPBulk load data with BCP
  • Abfragen von Daten mit SSMSQuery data with SSMS

*Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.*If you don't have an Azure subscription, create a free account before you begin.

Tipp

In dem folgenden kostenlosen Microsoft Learn-Modul lernen Sie, wie Sie eine ASP.NET-Anwendung entwickeln und konfigurieren, die eine Azure SQL-Datenbank abfragt. Sie erfahren u. a., wie Sie eine einfache Datenbank erstellen.The following Microsoft Learn module helps you learn for free how to Develop and configure an ASP.NET application that queries an Azure SQL Database, including the creation of a simple database.

Hinweis

Für dieses Tutorial nutzen wir eine Einzeldatenbank.For the purpose of this tutorial, we are using a single database. Sie können auch eine in einem Pool zusammengefasste Datenbank in einem Pool für elastische Datenbanken oder eine Instanzdatenbank in einer verwalteten Instanz verwenden.You could also use a pooled database in an elastic pool or an instance database in a managed instance. Informationen zu Verbindungen mit einer verwalteten Instanz finden Sie in den folgenden Schnellstartanleitungen zu verwalteten Instanzen: Schnellstart: Konfigurieren einer Azure-VM für das Herstellen einer Verbindung mit einer verwalteten Azure SQL-Datenbank-Instanz und Schnellstart: Konfigurieren einer Point-to-Site-Verbindung von einem lokalen Computer mit einer verwalteten Azure SQL-Datenbank-Instanz.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.

VoraussetzungenPrerequisites

Damit Sie dieses Tutorial ausführen können, müssen folgende Komponenten installiert sein:To complete this tutorial, make sure you've installed:

Melden Sie sich auf dem Azure-Portal an.Sign in to the Azure portal

Melden Sie sich beim Azure-Portal an.Sign in to the Azure portal.

Erstellen einer leeren EinzeldatenbankCreate a blank single database

Eine Einzeldatenbank in Azure SQL-Datenbank wird mit einer definierten Gruppe von Compute- und Speicherressourcen erstellt.A single database in Azure SQL Database is created with a defined set of compute and storage resources. Die Datenbank wird in einer Azure-Ressourcengruppe erstellt und mit einem Datenbankserver verwaltet.The database is created within an Azure resource group and is managed using an database server.

Führen Sie die folgenden Schritte aus, um eine leere Einzeldatenbank zu erstellen:Follow these steps to create a blank single database.

  1. Wählen Sie im Menü des Azure-Portals oder auf der Startseite die Option Ressource erstellen aus.On the Azure portal menu or from the Home page, select Create a resource.

  2. Wählen Sie auf der Seite Neu im Abschnitt „Azure Marketplace“ die Option Datenbanken aus, und klicken Sie dann im Abschnitt Empfohlen auf SQL-Datenbank.On the New page, select Databases in the Azure Marketplace section, and then click SQL Database in the Featured section.

    Leere Datenbank erstellen

  3. Geben Sie die folgenden Informationen in das SQL-Datenbank-Formular ein, wie in der obigen Abbildung dargestellt:Fill out the SQL Database form with the following information, as shown on the preceding image:

    EinstellungSetting       Empfohlener WertSuggested value BESCHREIBUNGDescription
    DatenbanknameDatabase name yourDatabaseyourDatabase Gültige Datenbanknamen finden Sie unter Datenbankbezeichner.For valid database names, see Database identifiers.
    AbonnementSubscription yourSubscriptionyourSubscription Ausführliche Informationen zu Ihren Abonnements finden Sie unter Abonnements.For details about your subscriptions, see Subscriptions.
    RessourcengruppeResource group yourResourceGroupyourResourceGroup Gültige Ressourcengruppennamen finden Sie unter Naming rules and restrictions (Benennungsregeln und Einschränkungen).For valid resource group names, see Naming rules and restrictions.
    Quelle auswählenSelect source Leere DatenbankBlank database Gibt an, dass eine leere Datenbank erstellt werden soll.Specifies that a blank database should be created.
  4. Klicken Sie auf Server, um einen vorhandenen Datenbankserver zu verwenden oder um einen neuen Datenbankserver zu erstellen und zu konfigurieren.Click Server to use an existing database server or create and configure a new database server. Wählen Sie einen vorhandenen Server aus, oder klicken Sie auf Neuen Server erstellen, und geben Sie im Formular Neuer Server die folgenden Informationen ein:Either select an existing server or click Create a new server and fill out the New server form with the following information:

    EinstellungSetting       Empfohlener WertSuggested value BESCHREIBUNGDescription
    ServernameServer name Ein global eindeutiger NameAny globally unique name Gültige Servernamen finden Sie unter Naming rules and restrictions (Benennungsregeln und Einschränkungen).For valid server names, see Naming rules and restrictions.
    ServeradministratoranmeldungServer admin login Ein gültiger NameAny valid name Gültige Anmeldenamen finden Sie unter Datenbankbezeichner.For valid login names, see Database identifiers.
    KennwortPassword Ein gültiges KennwortAny valid password Ihr Kennwort muss mindestens acht Zeichen umfassen und Zeichen aus drei der folgenden Kategorien enthalten: Großbuchstaben, Kleinbuchstaben, Zahlen und nicht alphanumerische Zeichen.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.
    LocationLocation Gültiger StandortAny valid location Informationen zu Regionen finden Sie unter Azure-Regionen.For information about regions, see Azure Regions.

    Erstellung des Datenbankservers

  5. Klicken Sie auf Auswählen.Click Select.

  6. Klicken Sie auf Tarif, um die Dienstebene, die Anzahl von DTUs oder virtuellen Kernen und die Speichermenge anzugeben.Click Pricing tier to specify the service tier, the number of DTUs or vCores, and the amount of storage. Sie können sich mit den Optionen für die Anzahl von DTUs/virtuellen Kernen sowie mit den Speicheroptionen vertraut machen, die für die einzelnen Dienstebenen verfügbar sind.You may explore the options for the number of DTUs/vCores and storage that is available to you for each service tier.

    Klicken Sie auf Übernehmen, wenn Sie die Dienstebene, die Anzahl von DTUs oder virtuellen Kernen und die Menge an Speicherplatz ausgewählt haben.After selecting the service tier, the number of DTUs or vCores, and the amount of storage, click Apply.

  7. Geben Sie eine Sortierung für die leere Datenbank ein (verwenden Sie in diesem Tutorial den Standardwert).Enter a Collation for the blank database (for this tutorial, use the default value). Weitere Informationen über Sortierungen finden Sie unter Sortierungen.For more information about collations, see Collations

  8. Nachdem Sie das Formular SQL-Datenbank ausgefüllt haben, können Sie auf Erstellen klicken, um die Einzeldatenbank bereitzustellen.Now that you've completed the SQL Database form, click Create to provision the single database. Dieser Schritt kann einige Minuten dauern.This step may take a few minutes.

  9. Klicken Sie in der Symbolleiste auf Benachrichtigungen, um den Bereitstellungsprozess zu überwachen.On the toolbar, click Notifications to monitor the deployment process.

    Benachrichtigung

Erstellen einer IP-Firewallregel auf ServerebeneCreate a server-level IP firewall rule

Der SQL-Datenbank-Dienst erstellt eine IP-Firewall auf Serverebene.The SQL Database service creates an IP firewall at the server-level. Diese Firewall verhindert, dass externe Anwendungen und Tools eine Verbindung mit dem Server und Datenbanken auf dem Server herstellen, sofern die IP-Adresse nicht durch eine Firewallregel zugelassen wird.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. Um externe Verbindungen mit Ihrer Einzeldatenbank zuzulassen, müssen Sie zunächst eine IP-Firewallregel für Ihre IP-Adresse (oder einen IP-Adressbereich) hinzufügen.To enable external connectivity to your single database, you must first add an IP firewall rule for your IP address (or IP address range). Führen Sie die folgenden Schritte aus, um eine SQL-Datenbank-IP-Firewallregel auf Serverebene zu erstellen.Follow these steps to create a SQL Database server-level IP firewall rule.

Wichtig

Der SQL-Datenbank-Dienst kommuniziert über Port 1433.The SQL Database service communicates over port 1433. Wenn Sie versuchen, mit diesem Dienst eine Verbindung aus einem Unternehmensnetzwerk heraus herzustellen, wird der ausgehende Datenverkehr über Port 1433 von der Firewall Ihres Netzwerks unter Umständen nicht zugelassen.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. In diesem Fall können Sie nur dann eine Verbindung mit der Einzeldatenbank herstellen, wenn Ihr Administrator Port 1433 öffnet.If so, you cannot connect to your single database unless your administrator opens port 1433.

  1. Wählen Sie nach Abschluss der Bereitstellung im Menü des Azure-Portals die Option SQL-Datenbanken aus, oder suchen Sie auf einer beliebigen Seite nach SQL-Datenbanken, und wählen Sie die entsprechende Option aus.After the deployment completes, select SQL databases from the Azure portal menu or search for and select SQL databases from any page.

  2. Wählen Sie auf der Seite SQL-Datenbanken die Datenbank yourDatabase aus.Select yourDatabase on the SQL databases page. Daraufhin wird die Übersichtsseite für Ihre Datenbank geöffnet. Dort finden Sie unter Servername den vollqualifizierten Servernamen (z. B. contosodatabaseserver01.database.windows.net) sowie Optionen für die weitere Konfiguration.The overview page for your database opens, showing you the fully qualified Server name (such as contosodatabaseserver01.database.windows.net) and provides options for further configuration.

    Servername

  3. Kopieren Sie diesen vollqualifizierten Servernamen, um in SQL Server Management Studio eine Verbindung mit Ihrem Server und den Datenbanken herzustellen.Copy this fully qualified server name for use to connect to your server and databases from SQL Server Management Studio.

  4. Klicken Sie auf der Symbolleiste auf Serverfirewall festlegen.Click Set server firewall on the toolbar. Die Seite Firewalleinstellungen für den SQL-Datenbank-Server wird geöffnet.The Firewall settings page for the SQL Database server opens.

    IP-Firewallregel auf Serverebene

  5. Klicken Sie auf der Symbolleiste auf Client-IP-Adresse hinzufügen, um Ihre aktuelle IP-Adresse einer neuen IP-Firewallregel hinzuzufügen.Click Add client IP on the toolbar to add your current IP address to a new IP firewall rule. Eine IP-Firewallregel kann Port 1433 für eine einzelne IP-Adresse oder einen Bereich von IP-Adressen öffnen.An IP firewall rule can open port 1433 for a single IP address or a range of IP addresses.

  6. Klicken Sie auf Speichern.Click Save. Für Ihre aktuelle IP-Adresse wird eine IP-Firewallregel auf Serverebene erstellt, und auf dem SQL-Datenbank-Server wird der Port 1433 geöffnet.A server-level IP firewall rule is created for your current IP address opening port 1433 on the SQL Database server.

  7. Klicken Sie auf OK, und schließen Sie anschließend die Seite Firewalleinstellungen.Click OK and then close the Firewall settings page.

Die IP-Adresse kann nun die IP-Firewall passieren.Your IP address can now pass through the IP firewall. Nun können Sie mit SQL Server Management Studio oder einem anderen Tool Ihrer Wahl die Verbindung mit der Einzeldatenbank herstellen.You can now connect to your single database using SQL Server Management Studio or another tool of your choice. Verwenden Sie das Serveradministratorkonto, das Sie zuvor erstellt haben.Be sure to use the server admin account you created previously.

Wichtig

Standardmäßig ist der Zugriff über die SQL-Datenbank-IP-Firewall für alle Azure-Dienste aktiviert.By default, access through the SQL Database IP firewall is enabled for all Azure services. Klicken Sie auf dieser Seite auf AUS, um dies für alle Azure-Dienste zu deaktivieren.Click OFF on this page to disable for all Azure services.

Herstellen einer Verbindung mit der DatenbankConnect to the database

Verwenden Sie SQL Server Management Studio, um eine Verbindung mit Ihrer Einzeldatenbank herzustellen.Use SQL Server Management Studio to establish a connection to your single database.

  1. Öffnen Sie SQL Server Management Studio.Open SQL Server Management Studio.

  2. Geben Sie im Dialogfeld Mit Server verbinden die folgenden Informationen ein:In the Connect to Server dialog box, enter the following information:

    EinstellungSetting       Empfohlener WertSuggested value BESCHREIBUNGDescription
    ServertypServer type Datenbank-EngineDatabase engine Dieser Wert ist erforderlich.This value is required.
    ServernameServer name Der vollqualifizierte ServernameThe fully qualified server name Beispiel: yourserver.database.windows.netFor example, yourserver.database.windows.net.
    AuthentifizierungAuthentication SQL Server-AuthentifizierungSQL Server Authentication In diesem Tutorial haben Sie als einzigen Authentifizierungstyp die SQL-Authentifizierung konfiguriert.SQL Authentication is the only authentication type that we've configured in this tutorial.
    AnmeldungLogin Das ServeradministratorkontoThe server admin account Hierbei handelt es sich um das Konto, das Sie bei der Servererstellung angegeben haben.The account that you specified when you created the server.
    KennwortPassword Das Kennwort für das ServeradministratorkontoThe password for your server admin account Das Kennwort, das Sie beim Erstellen des Servers angegeben habenThe password that you specified when you created the server.

    Verbindung mit dem Server herstellen

  3. Klicken Sie im Dialogfeld Mit Server verbinden auf Optionen.Click Options in the Connect to server dialog box. Geben Sie im Abschnitt Verbindung mit Datenbank herstellen den Namen yourDatabase ein, um eine Verbindung mit dieser Datenbank herzustellen.In the Connect to database section, enter yourDatabase to connect to this database.

    Herstellen einer Verbindung mit der Datenbank auf dem Server

  4. Klicken Sie auf Verbinden.Click Connect. Das Objekt-Explorer-Fenster wird in SSMS geöffnet.The Object Explorer window opens in SSMS.

  5. Erweitern Sie im Objekt-Explorer die Option Datenbanken und anschließend die Option yourDatabase, um die Objekte in der Beispieldatenbank anzuzeigen.In Object Explorer, expand Databases and then expand yourDatabase to view the objects in the sample database.

    Datenbankobjekte

Erstellen von Tabellen in Ihrer DatenbankCreate tables in your database

Erstellen Sie mit Transact-SQL- ein Datenbankschema mit vier Tabellen, die ein Studentenverwaltungssystem für Universitäten modellieren:Create a database schema with four tables that model a student management system for universities using Transact-SQL:

  • PersonPerson
  • Course (Lehrveranstaltung)Course
  • StudentStudent
  • QuelleCredit

Die folgende Abbildung zeigt, wie diese Tabellen miteinander verknüpft sind.The following diagram shows how these tables are related to each other. Aus einigen dieser Tabellen wird auf Spalten in anderen Tabellen verwiesen.Some of these tables reference columns in other tables. Beispielsweise wird aus der Tabelle Student auf die Spalte PersonId der Tabelle Person verwiesen.For example, the Student table references the PersonId column of the Person table. Sehen Sie sich die Abbildung an, um zu verstehen, wie die Tabellen in diesem Tutorial miteinander verknüpft sind.Study the diagram to understand how the tables in this tutorial are related to one another. Eine ausführliche Beschreibung, wie effiziente Datenbanktabellen erstellt werden, finden Sie unter Erstellen von effizienten Datenbanktabellen.For an in-depth look at how to create effective database tables, see Create effective database tables. Informationen zum Auswählen von Datentypen finden Sie unter Datentypen.For information about choosing data types, see Data types.

Hinweis

Sie können auch den Tabellen-Designer in SQL Server Management Studio verwenden, um diese Tabellen zu entwerfen und zu erstellen.You can also use the table designer in SQL Server Management Studio to create and design your tables.

Tabellenbeziehungen

  1. Klicken Sie mit der rechten Maustaste im Objekt-Explorer auf yourDatabase, und wählen Sie Neue Abfrage aus.In Object Explorer, right-click yourDatabase and select New Query. Ein leeres Abfragefenster mit einer Verbindung mit Ihrer Datenbank wird geöffnet.A blank query window opens that is connected to your database.

  2. Führen Sie im Abfragefenster die folgende Abfrage aus, um vier Tabellen in der Datenbank zu erstellen: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
        )
    )
    

    Erstellen von Tabellen.

  3. Erweitern Sie im Objekt-Explorer unter yourDatabase den Knoten Tabellen, um die von Ihnen erstellten Tabellen anzuzeigen.Expand the Tables node under yourDatabase in the Object Explorer to see the tables you created.

    Erstellte Tabellen in SMS

Laden von Daten in die TabellenLoad data into the tables

  1. Erstellen Sie in Ihrem Ordner „Downloads“ einen Ordner namens sampleData, in dem die Beispieldaten für Ihre Datenbank gespeichert werden.Create a folder called sampleData in your Downloads folder to store sample data for your database.

  2. Klicken Sie mit der rechten Maustaste auf die folgenden Links, und speichern Sie sie im Ordner sampleData.Right-click the following links and save them into the sampleData folder.

  3. Öffnen Sie ein Eingabeaufforderungsfenster, und navigieren Sie zum Ordner sampleData.Open a command prompt window and navigate to the sampleData folder.

  4. Führen Sie die folgenden Befehle aus, um Beispieldaten in die Tabellen einzufügen. Ersetzen Sie dabei die Werte für server, database, user und password durch die Werte für Ihre Umgebung.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 -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t ","
    bcp Person in SamplePersonData -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t ","
    bcp Student in SampleStudentData -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t ","
    bcp Credit in SampleCreditData -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t ","
    

Sie haben jetzt Beispieldaten in die Tabellen geladen, die Sie zuvor erstellt haben.You have now loaded sample data into the tables you created earlier.

Abfragen von DatenQuery data

Führen Sie die folgenden Abfragen aus, um Informationen aus den Datenbanktabellen abzurufen.Execute the following queries to retrieve information from the database tables. Weitere Informationen zum Schreiben von SQL-Abfragen finden Sie unter Writing SQL Queries (Schreiben von SQL-Abfragen).See Write SQL queries to learn more about writing SQL queries. In der ersten Abfrage werden alle vier Tabellen verknüpft, um alle Kursteilnehmer zu finden, die von „Dominick Pope“ unterrichtet werden und ein Ergebnis (Grade) haben, das über 75 Prozent liegt.The first query joins all four tables to find the students taught by 'Dominick Pope' who have a grade higher than 75%. In der zweiten Abfrage werden alle vier Tabellen verknüpft und die Lehrveranstaltungen gesucht, für die „Noe Coleman“ jemals eingeschrieben war.The second query joins all four tables and finds the courses in which 'Noe Coleman' has ever enrolled.

  1. Führen Sie in einem Abfragefenster von SQL Server Management Studio die folgende Abfrage aus: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. Führen Sie in einem Abfragefenster die folgende Abfrage aus: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'
    

Nächste SchritteNext steps

In diesem Tutorial haben Sie viele grundlegende Datenbankaufgaben kennengelernt.In this tutorial, you learned many basic database tasks. Es wurde Folgendes vermittelt:You learned how to:

  • Erstellen einer EinzeldatenbankCreate a single database
  • Einrichten einer IP-Firewallregel auf ServerebeneSet up a server-level IP firewall rule
  • Herstellen einer Verbindung mit der Datenbank mit SQL Server Management Studio (SSMS)Connect to the database with SQL Server Management Studio (SSMS)
  • Erstellen von Tabellen.Create tables
  • Massenladen von DatenBulk load data
  • Abfragen der DatenQuery that data

Im nächsten Tutorial erfahren Sie, wie Sie eine Datenbank mit Visual Studio und C# entwerfen.Advance to the next tutorial to learn about designing a database using Visual Studio and C#.