Tutorial: Entwurf einer relationalen Datenbank in Azure SQL-Datenbank mit SSMS

GILT FÜR: Azure SQL-Datenbank

Azure SQL-Datenbank ist eine relationale DBaaS-Lösung (Database-as-a-Service) in Microsoft Cloud (Azure). In diesem Tutorial erfahren Sie, wie Sie das Azure-Portal und SQL Server Management Studio (SSMS) für folgende Zwecke verwenden:

  • Erstellen einer Datenbank über das Azure-Portal*
  • Einrichten einer IP-Firewallregel auf Serverebene mit dem Azure-Portal
  • Herstellen einer Verbindung für die Datenbank mit SSMS
  • Erstellen von Tabellen mit SSMS
  • Massenladen von Daten mit BCP
  • Abfragen von Daten mit SSMS

*Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

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.

Hinweis

Für dieses Tutorial wird Azure SQL-Datenbank verwendet. Sie können auch eine Pooldatenbank in einem Pool für elastische Datenbanken oder eine verwaltete SQL-Instanz verwenden. Informationen zu Verbindungen mit einer verwalteten SQL-Instanz finden Sie in den folgenden Schnellstartanleitungen zu verwalteten SQL-Instanzen: Schnellstart: Konfigurieren einer Azure-VM für das Herstellen einer Verbindung mit einer Azure SQL Managed Instance und Schnellstart: Konfigurieren einer Point-to-Site-Verbindung von einem lokalen Computer mit einer verwalteten Azure SQL-Instanz.

Voraussetzungen

Damit Sie dieses Tutorial ausführen können, müssen folgende Komponenten installiert sein:

Melden Sie sich auf dem Azure-Portal an.

Melden Sie sich beim Azure-Portal an.

Erstellen einer leeren Datenbank in Azure SQL-Datenbank

Eine Datenbank in Azure SQL-Datenbank wird mit einer definierten Gruppe von Compute- und Speicherressourcen erstellt. Die Datenbank wird in einer Azure-Ressourcengruppe erstellt und mit einer logischen SQL Server-Instanz verwaltet.

Führen Sie die folgenden Schritte zum Erstellen einer leeren Datenbank aus.

  1. Wählen Sie im Menü des Azure-Portals oder auf der Startseite die Option Ressource erstellen aus.

  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.

    create empty-database

  3. Geben Sie die folgenden Informationen in das SQL-Datenbank-Formular ein, wie in der obigen Abbildung dargestellt:

    Einstellung Vorgeschlagener Wert BESCHREIBUNG
    Datenbankname yourDatabase Gültige Datenbanknamen finden Sie unter Datenbankbezeichner.
    Abonnement yourSubscription Ausführliche Informationen zu Ihren Abonnements finden Sie unter Abonnements.
    Ressourcengruppe yourResourceGroup Gültige Ressourcengruppennamen finden Sie unter Naming rules and restrictions (Benennungsregeln und Einschränkungen).
    Quelle auswählen Leere Datenbank Gibt an, dass eine leere Datenbank erstellt werden soll.
  4. Klicken Sie auf Server, um einen vorhandenen Server zu verwenden oder um einen neuen Server zu erstellen und zu konfigurieren. 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:

    Einstellung Vorgeschlagener Wert BESCHREIBUNG
    Servername Ein global eindeutiger Name Gültige Servernamen finden Sie unter Naming rules and restrictions (Benennungsregeln und Einschränkungen).
    Serveradministratoranmeldung Ein gültiger Name Gültige Anmeldenamen finden Sie unter Datenbankbezeichner.
    Kennwort Ein gültiges Kennwort Ihr Kennwort muss mindestens acht Zeichen umfassen und Zeichen aus drei der folgenden Kategorien enthalten: Großbuchstaben, Kleinbuchstaben, Zahlen und nicht alphanumerische Zeichen.
    Location Gültiger Standort Informationen zu Regionen finden Sie unter Azure-Regionen.

    create database-server

  5. Klicken Sie auf Auswählen.

  6. Klicken Sie auf Tarif, um die Dienstebene, die Anzahl von DTUs oder virtuellen Kernen und die Speichermenge anzugeben. 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.

    Klicken Sie auf Übernehmen, wenn Sie die Dienstebene, die Anzahl von DTUs oder virtuellen Kernen und die Menge an Speicherplatz ausgewählt haben.

  7. Geben Sie eine Sortierung für die leere Datenbank ein (verwenden Sie in diesem Tutorial den Standardwert). Weitere Informationen über Sortierungen finden Sie unter Sortierungen.

  8. Nachdem Sie das SQL-Datenbank-Formular ausgefüllt haben, können Sie auf Erstellen klicken, um die Datenbank bereitzustellen. Dieser Schritt kann einige Minuten dauern.

  9. Klicken Sie in der Symbolleiste auf Benachrichtigungen, um den Bereitstellungsprozess zu überwachen.

    Screenshot shows the Notifications menu with Deployment in progress.

Erstellen einer IP-Firewallregel auf Serverebene

Azure SQL-Datenbank erstellt eine IP-Firewall auf Serverebene. 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. Um externe Verbindungen mit Ihrer Datenbank zuzulassen, müssen Sie zunächst eine IP-Firewallregel für Ihre IP-Adresse (oder einen IP-Adressbereich) hinzufügen. Führen Sie die folgenden Schritte aus, um eine IP-Firewallregel auf Serverebene zu erstellen.

Wichtig

Azure SQL-Datenbank kommuniziert über 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. In diesem Fall können Sie nur dann eine Verbindung mit der Datenbank herstellen, wenn Ihr Administrator Port 1433 öffnet.

  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.

  2. Wählen Sie auf der Seite SQL-Datenbanken die Datenbank yourDatabase aus. Daraufhin wird die Übersichtsseite für Ihre Datenbank geöffnet. Dort finden Sie unter Servername den vollqualifizierten Servernamen (z. B. ) sowie Optionen für die weitere Konfiguration.

    server name

  3. Kopieren Sie diesen vollqualifizierten Servernamen, um in SQL Server Management Studio eine Verbindung mit Ihrem Server und den Datenbanken herzustellen.

  4. Klicken Sie auf der Symbolleiste auf Serverfirewall festlegen. Die Seite Firewalleinstellungen für den Server wird geöffnet.

    server-level IP firewall rule

  5. Klicken Sie auf der Symbolleiste auf Client-IP-Adresse hinzufügen, um Ihre aktuelle IP-Adresse einer neuen IP-Firewallregel hinzuzufügen. Eine IP-Firewallregel kann Port 1433 für eine einzelne IP-Adresse oder einen Bereich von IP-Adressen öffnen.

  6. Klicken Sie auf Speichern. Für Ihre aktuelle IP-Adresse wird eine IP-Firewallregel auf Serverebene erstellt, und auf dem Server wird der Port 1433 geöffnet.

  7. Klicken Sie auf OK, und schließen Sie anschließend die Seite Firewalleinstellungen.

Die IP-Adresse kann nun die IP-Firewall passieren. Nun können Sie mit SQL Server Management Studio oder einem anderen Tool Ihrer Wahl die Verbindung mit der Datenbank herstellen. Verwenden Sie das Serveradministratorkonto, das Sie zuvor erstellt haben.

Wichtig

Standardmäßig ist der Zugriff über die SQL-Datenbank-IP-Firewall für alle Azure-Dienste aktiviert. Klicken Sie auf dieser Seite auf AUS, um dies für alle Azure-Dienste zu deaktivieren.

Herstellen der Verbindung mit der Datenbank

Verwenden Sie SQL Server Management Studio, um eine Verbindung mit Ihrer Datenbank herzustellen.

  1. Öffnen Sie SQL Server Management Studio.

  2. Geben Sie im Dialogfeld Mit Server verbinden die folgenden Informationen ein:

    Einstellung Vorgeschlagener Wert BESCHREIBUNG
    Servertyp Datenbank-Engine Dieser Wert ist erforderlich.
    Servername Der vollqualifizierte Servername Beispiel: yourserver.database.windows.net
    Authentifizierung SQL Server-Authentifizierung In diesem Tutorial haben Sie als einzigen Authentifizierungstyp die SQL-Authentifizierung konfiguriert.
    Anmeldung Das Serveradministratorkonto Hierbei handelt es sich um das Konto, das Sie bei der Servererstellung angegeben haben.
    Kennwort Das Kennwort für das Serveradministratorkonto Das Kennwort, das Sie beim Erstellen des Servers angegeben haben

    connect to server

  3. Klicken Sie im Dialogfeld Mit Server verbinden auf Optionen. Geben Sie im Abschnitt Verbindung mit Datenbank herstellen den Namen yourDatabase ein, um eine Verbindung mit dieser Datenbank herzustellen.

    connect to db on server

  4. Klicken Sie auf Verbinden. Das Objekt-Explorer-Fenster wird in SSMS geöffnet.

  5. Erweitern Sie im Objekt-Explorer die Option Datenbanken und anschließend die Option yourDatabase, um die Objekte in der Beispieldatenbank anzuzeigen.

    database objects

Erstellen von Tabellen in Ihrer Datenbank

Erstellen Sie mit Transact-SQL- ein Datenbankschema mit vier Tabellen, die ein Studentenverwaltungssystem für Universitäten modellieren:

  • Person
  • Course (Lehrveranstaltung)
  • Student
  • Quelle

Die folgende Abbildung zeigt, wie diese Tabellen miteinander verknüpft sind. Aus einigen dieser Tabellen wird auf Spalten in anderen Tabellen verwiesen. Beispielsweise wird aus der Tabelle Student auf die Spalte PersonId der Tabelle Person verwiesen. Sehen Sie sich die Abbildung an, um zu verstehen, wie die Tabellen in diesem Tutorial miteinander verknüpft sind. Eine ausführliche Beschreibung, wie effiziente Datenbanktabellen erstellt werden, finden Sie unter Erstellen von effizienten Datenbanktabellen. Informationen zum Auswählen von Datentypen finden Sie unter Datentypen.

Hinweis

Sie können auch den Tabellen-Designer in SQL Server Management Studio verwenden, um diese Tabellen zu entwerfen und zu erstellen.

Table relationships

  1. Klicken Sie mit der rechten Maustaste im Objekt-Explorer auf yourDatabase, und wählen Sie Neue Abfrage aus. Ein leeres Abfragefenster mit einer Verbindung mit Ihrer Datenbank wird geöffnet.

  2. Führen Sie im Abfragefenster die folgende Abfrage aus, um vier Tabellen in der Datenbank zu erstellen:

    -- 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
        )
    )
    

    Create tables

  3. Erweitern Sie im Objekt-Explorer unter yourDatabase den Knoten Tabellen, um die von Ihnen erstellten Tabellen anzuzeigen.

    ssms tables-created

Laden von Daten in die Tabellen

  1. Erstellen Sie in Ihrem Ordner „Downloads“ einen Ordner namens sampleData, in dem die Beispieldaten für Ihre Datenbank gespeichert werden.

  2. Klicken Sie mit der rechten Maustaste auf die folgenden Links, und speichern Sie sie im Ordner sampleData.

  3. Öffnen Sie ein Eingabeaufforderungsfenster, und navigieren Sie zum Ordner sampleData.

  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.

    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.

Daten abfragen

Führen Sie die folgenden Abfragen aus, um Informationen aus den Datenbanktabellen abzurufen. Weitere Informationen zum Schreiben von SQL-Abfragen finden Sie unter Writing SQL Queries (Schreiben von SQL-Abfragen). 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. In der zweiten Abfrage werden alle vier Tabellen verknüpft und die Lehrveranstaltungen gesucht, für die „Noe Coleman“ jemals eingeschrieben war.

  1. Führen Sie in einem Abfragefenster von SQL Server Management Studio die folgende Abfrage aus:

    -- 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:

    -- 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 Schritte

In diesem Tutorial haben Sie viele grundlegende Datenbankaufgaben kennengelernt. Sie haben Folgendes gelernt:

  • Erstellen einer Datenbank über das Azure-Portal*
  • Einrichten einer IP-Firewallregel auf Serverebene mit dem Azure-Portal
  • Herstellen einer Verbindung für die Datenbank mit SSMS
  • Erstellen von Tabellen mit SSMS
  • Massenladen von Daten mit BCP
  • Abfragen von Daten mit SSMS

Im nächsten Tutorial erfahren Sie, wie Sie eine Datenbank mit Visual Studio und C# entwerfen.