Tutorial: Entwerfen einer relationalen Datenbank in Azure SQL-Datenbank

Gilt für:: Azure SQL-Datenbank

Azure SQL-Datenbank ist eine relationale DBaaS-Lösung (Database-as-a-Service) in Microsoft Azure. In diesem Tutorial lernen Sie Folgendes:

  • Herstellen der Verbindung mit der Datenbank
  • Tabellen mit T-SQL-Befehlen erstellen
  • Massenladen von Daten mit BCP
  • Abfragen von Daten mit T-SQL-Befehlen

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 verwalteten Azure SQL-Instanz und Schnellstart: Konfigurieren einer Point-to-Site-Verbindung von einem lokalen Computer mit einer verwalteten Azure SQL-Instanz.

Voraussetzungen

Melden Sie sich auf dem Azure-Portal an.

Melden Sie sich beim Azure-Portal an.

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. contosodatabaseserver01.database.windows.net) sowie Optionen für die weitere Konfiguration.

    Screenshot des Azure-Portals mit der Übersichtsseite der Datenbank und hervorgehobenem Servernamen

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

  4. Wählen Sie Netzwerk unter Einstellungen aus. Wählen Sie die Registerkarte Öffentlicher Zugriff und dann unter Öffentlicher Netzwerkzugriff die Option Ausgewählte Netzwerke aus, um den Abschnitt Firewallregeln anzuzeigen.

    Screenshot der Seite „Netzwerk“ im Azure-Portal, auf der gezeigt wird, wo die IP-Firewallregel auf Serverebene festgelegt wird

  5. Wählen Sie auf der Symbolleiste Fügen Sie Ihre Client-IPv4-Adresse hinzu aus, 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. Wählen Sie Speichern aus. Für Ihre aktuelle IP-Adresse wird eine IP-Firewallregel auf Serverebene erstellt, und auf dem Server wird der Port 1433 geöffnet.

  7. Wählen Sie OK aus, 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. Wählen Sie auf dieser Seite die Option AUS aus, um diesen für alle Azure-Dienste zu deaktivieren.

Herstellen der Verbindung mit der Datenbank

Azure SQL-Datenbanken sind innerhalb von logischen SQL-Servern vorhanden. Eine Verbindung zu master des logischen Servers kann mithilfe einer Anmeldung hergestellt werden. Stellen Sie anschließend eine Verbindung zu Ihrer Datenbank her. Alternativ können Sie auch mithilfe eines eigenständigen Benutzers eine direkte Verbindung mit Ihrer Azure SQL-Datenbank herstellen.

Verwenden von SQL Server Management Studio zum Herstellen einer Verbindung mit einem SQL Server.

  1. Öffnen Sie SQL Server Management Studio.

  2. Geben Sie im Dialogfeld Mit Server verbinden die folgenden Informationen ein. Übernehmen Sie für andere Optionen die Standardwerte.

    Einstellung Vorgeschlagener Wert Beschreibung
    Servertyp Datenbank-Engine Dieser Wert ist erforderlich.
    Servername Der Name des vollqualifizierten logischen Servers von Azure SQL-Datenbank Beispiel: your_logical_azure_sql_server.database.windows.net.
    Authentifizierung SQL Server-Authentifizierung Verwenden Sie die SQL Server-Authentifizierung, um einen Benutzernamen und ein Kennwort einzugeben.
    Microsoft Entra-Authentifizierung Um eine Verbindung über die Microsoft Entra-ID herzustellen, wählen Sie Microsoft Entra MFA aus, wenn Sie der Microsoft Entra-Serveradministrator sind. Weitere Informationen finden Sie unter Konfigurieren und Verwalten der Microsoft Entra-Authentifizierung mit Azure SQL.
    Anmeldung Das Serveradministratorkonto Bei Verwendung der SQL Server-Authentifizierung, das Konto, das Sie beim Erstellen des Servers angegeben haben.
    Kennwort Das Kennwort für das Serveradministratorkonto Bei Verwendung der SQL Server-Authentifizierung, das Kennwort, das Sie beim Erstellen des Servers angegeben haben.

    Screenshot des Dialogfelds „Mit logischem Azure SQL-Datenbank-Server verbinden“ in SQL Server Management Studio (SSMS).

  3. Wählen Sie im Dialogfeld Mit Server verbindenOptionen aus. Geben Sie im Abschnitt Verbindung mit Datenbank herstellen den Namen yourDatabase ein, um eine Verbindung mit dieser Datenbank herzustellen.

    Screenshot der Registerkarte „Optionen“ im Dialogfeld „Mit Server verbinden“ in SQL Server Management Studio (SSMS).

  4. Wählen Sie 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.

    Screenshot von SQL Server Management Studio (SSMS) mit Datenbankobjekten im Objekt-Explorer

  6. 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.

Erstellen von Tabellen in Ihrer Datenbank

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

  • Person
  • Course
  • Student
  • Credit

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. Ausführliche Informationen zum Erstellen effektiver normalisierter Datenbanktabellen finden Sie unter Entwerfen einer normalisierten Datenbank. Informationen zum Auswählen von Datentypen finden Sie unter Datentypen. Standardmäßig werden Tabellen im Standardschema dbo erstellt, was bedeutet, dass der zweiteilige Name einer Tabelle beispielsweise dbo.Person lautet.

Hinweis

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

Screenshot des Tabellen-Designers in SQL Server Management Studio (SSMS) mit den Tabellenbeziehungen

  1. Führen Sie im Abfragefenster die folgende T-SQL-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
        )
    )
    

    Screenshot von SSMS, der zeigt, dass das Skript zum Erstellen von Tabellen erfolgreich ausgeführt wurde.

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

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. Beispiel: c:\Users\<your user name>\Downloads.

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

  3. Öffnen Sie ein neues Windows-Eingabeaufforderungsfenster, und navigieren Sie zum Ordner sampleData. Beispiel: cd c:\Users\<your user name>\Downloads.

  4. Führen Sie die folgenden bcp-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 T-SQL-Abfragen aus, um Informationen aus den Datenbanktabellen abzurufen.

In dieser 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. Führen Sie in einem Abfragefenster die folgende T-SQL-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;

In dieser zweiten Abfrage werden alle vier Tabellen verknüpft und die Lehrveranstaltungen gesucht, für die „Noe Coleman“ jemals eingeschrieben war. Führen Sie in einem Abfragefenster die folgende T-SQL-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';

Tipp

Um mehr über das Schreiben von SQL-Abfragen zu erfahren, rufen Sie das Tutorial zum Schreiben von T-SQL-Anweisungen auf.

Tipp

Sind Sie bereit, mit der Entwicklung einer .NET-Anwendung zu beginnen? In diesem kostenlosen Learn-Modul erfahren 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.

Nächster Schritt

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