Delen via


Zelfstudie: Een relationele database ontwerpen in Azure SQL Database met behulp van Azure Data Studio (ADS)

Van toepassing op: Azure SQL Database

Azure SQL Database is een relationele DBaaS (database-as-a-service) in Microsoft Cloud (Azure). In deze zelfstudie leert u hoe u Azure Portal en Azure Data Studio (ADS) gebruikt om:

  • Verbinding maken naar de database met Azure Data Studio
  • Tabellen maken met Azure Data Studio
  • Gegevens bulksgewijs laden met BCP
  • Query's uitvoeren op gegevens met Azure Data Studio

Notitie

Voor deze zelfstudie wordt gebruikgemaakt van Azure SQL Database. U kunt ook een gepoolde database in een elastische pool of een met SQL beheerd exemplaar gebruiken. Zie de volgende quickstarts voor SQL Managed Instance: Quickstart: Azure VM configureren om verbinding te maken met een beheerd exemplaar van Azure SQL en quickstart: Een punt-naar-site-verbinding met een azure SQL Managed Instance configureren vanuit on-premises.

Vereisten

Het volgende moet zijn geïnstalleerd om deze zelfstudie te voltooien:

Meld u aan bij Azure Portal

Meld u aan bij de Azure-portal.

Een IP-firewallregel op serverniveau maken

Azure SQL Database maakt een IP-firewall op serverniveau. De firewall voorkomt dat externe toepassingen en hulpprogramma's verbinding maken met de server of databases op de server, tenzij een firewallregel hun IP via de firewall toestaat. Als u externe connectiviteit voor uw database wilt inschakelen, moet u eerst een IP-firewallregel voor uw IP-adres (of IP-adresbereik) toevoegen. Volg deze stappen als u een IP-firewallregel op serverniveau wilt maken.

Belangrijk

Azure SQL Database communiceert via poort 1433. Als u verbinding probeert te maken met deze service vanuit een bedrijfsnetwerk, is uitgaand verkeer via poort 1433 mogelijk niet toegestaan door de firewall van uw netwerk. In dat geval kunt u geen verbinding maken met uw database, tenzij de beheerder poort 1433 openstelt.

  1. Selecteer nadat de implementatie is voltooid SQL databases in het Azure Portal-menu of zoek ernaar en selecteer SQL databases in een andere pagina.

  2. Selecteer yourDatabase in de pagina SQL databases. De overzichtspagina voor de database wordt geopend, met de volledig gekwalificeerde Servernaam (bijvoorbeeld contosodatabaseserver01.database.windows.net) en opties voor verdere configuratie.

    Screenshot of the Azure portal, database overview page with the server name highlighted.

  3. Kopieer vanuit SQL Server Management Studio deze volledig gekwalificeerde servernaam om verbinding te maken met de server en de databases.

  4. Selecteer Netwerken onder Instellingen. Kies het tabblad Openbare toegang en selecteer vervolgens Geselecteerde netwerken onder Openbare netwerktoegang om de sectie Firewallregels weer te geven .

    Screenshot of the Azure portal, networking page, showing where to set the server-level IP firewall rule.

  5. Selecteer Uw client-IPv4 toevoegen op de werkbalk om uw huidige IP-adres toe te voegen aan een nieuwe IP-firewallregel. Een IP-firewallregel kan poort 1433 openen voor een afzonderlijk IP-adres of voor een aantal IP-adressen.

  6. Selecteer Opslaan. Er wordt een IP-firewallregel op serverniveau gemaakt voor uw huidige IP-adres waarbij poort 1433 wordt geopend op de server.

  7. Selecteer OK en sluit de pagina Firewallinstellingen.

Uw IP-adres wordt niet meer geblokkeerd via de IP-firewall. U kunt nu verbinding maken met uw database met SQL Server Management Studio of een ander hulpprogramma naar keuze. Gebruik het beheerdersaccount voor de server dat u eerder hebt gemaakt.

Belangrijk

Voor alle Azure-services is toegang via de IP-firewall van SQL Database standaard ingeschakeld. Kies UIT op deze pagina om dit voor alle Azure-services uit te schakelen.

Verbinding maken met de database

Gebruik Azure Data Studio om een verbinding met uw database tot stand te brengen.

  1. Open Azure Data Studio.

  2. Voer in de nieuwe Verbinding maken van de Objectverkenner een nieuwe verbinding te maken en voer de volgende gegevens in. Laat andere opties standaard staan.

    Instelling Voorgestelde waarde Beschrijving
    Verbindingstype Microsoft SQL Server Deze waarde is vereist.
    Servernaam De volledig gekwalificeerde naam van de logische Azure SQL Database-server Bijvoorbeeld: your_logical_azure_sql_server.database.windows.net.
    Typefout voor verificatie SQL-serververificatie Gebruik SQL Server-verificatie om een gebruikersnaam en wachtwoord in te voeren.
    Microsoft Entra-verificatie Als u verbinding wilt maken met behulp van Microsoft Entra ID, kiest u Microsoft Entra ID - Universeel met MFA-ondersteuning als u de Microsoft Entra-serverbeheerder bent. Zie Microsoft Entra-verificatie configureren en beheren met Azure SQL voor meer informatie.
    Aanmelding Het beheerdersaccount voor de server Het account dat u hebt opgegeven tijdens het maken van de server.
    Wachtwoord Het wachtwoord voor het beheerdersaccount voor de server Het wachtwoord dat u hebt opgegeven tijdens het maken van de server.

    Screenshot of connection dialog box in ADS.

  3. Selecteer Verbinding maken. Het venster Objectverkenner wordt geopend in ADS.

  4. In Objectverkenner vouwt u Databases en daarna yourDatabase uit om de objecten in de voorbeelddatabase weer te geven.

  5. Klik in Objectverkenner met de rechtermuisknop op yourDatabase en selecteer Nieuwe query. Er wordt een leeg queryvenster geopend dat is verbonden met uw database.

Tabellen maken in uw database

Maak een databaseschema met vier tabellen die een studentbeheersysteem modelleren voor universiteiten met behulp van Table Designer in Azure Data Studio:

  • Person
  • Course
  • Student
  • Credit

Het volgende diagram laat zien hoe deze tabellen aan elkaar zijn gerelateerd. Sommige van deze tabellen verwijzen naar kolommen in andere tabellen. De tabel verwijst bijvoorbeeld Student naar de PersonId kolom van de Person tabel. Bekijk het diagram goed om te begrijpen hoe de tabellen in deze zelfstudie aan elkaar zijn gerelateerd. Zie Een genormaliseerde database ontwerpen voor uitgebreide informatie over het maken van effectieve genormaliseerde databasetabellen. Zie Gegevenstypen voor informatie over het kiezen van gegevenstypen. Standaard worden tabellen gemaakt in het standaardschema dbo , wat betekent dat de tweedelige naam van een tabel bijvoorbeeld is dbo.Person.

Screenshot of Table relationships.

  1. Selecteer in Objectverkenner de vervolgkeuzelijst van alle processen die zijn opgeslagen in deze database, met de rechtermuisknop op de map Tabellen en selecteer Nieuwe tabel. Er wordt een lege ontwerpfunctie voor tabellen geopend die is verbonden met uw database.

  2. Gebruik de interface Table Designer om deze vier tabellen in uw database te maken. Raadpleeg de documentatie van Table Designer voor meer informatie over het maken van tabellen met behulp van Table Designer:

    • Persoonstabel

      Screenshot of Person Table in Table Designer.

      Zorg ervoor dat u de instellingen voor de primaire sleutel voor de persoonstabel configureert, zoals hieronder wordt weergegeven:

      Screenshot of Person table in Table Designer showing the Primary Key settings.

    • Studententabel

      Screenshot of Student table in Table Designer.

      Zorg ervoor dat u de instellingen voor de primaire sleutel voor de tabel Student configureert, zoals hieronder wordt weergegeven: Screenshot of Student table in Table Designer showing Primary Key settings.

      Zorg ervoor dat u de instellingen voor refererende sleutel voor de tabel Student configureert, zoals hieronder wordt weergegeven: Screenshot Student table in Table Designer showing Foreign Key settings.

    • Cursustabel

      Screenshot of Course Table in Table Designer.

      Zorg ervoor dat u de instellingen voor de primaire sleutel voor de cursustabel configureert, zoals hieronder wordt weergegeven: Screenshot of Course table in Table Designer showing Primary Key settings.

    • Tegoedtabel

      Screenshot of Credit Table in Table Designer.

      Zorg ervoor dat u de instellingen voor refererende sleutel voor de credittabel configureert, zoals hieronder wordt weergegeven: Screenshot of Credit Table in Table Designer showing Foreign Key settings.

      Zorg ervoor dat u de instellingen voor beperkingen controleren voor de krediettabel configureert, zoals hieronder wordt weergegeven: Screenshot of Credit Table in Table Designer showing Check Constraint settings.

    Als u liever T-SQL gebruikt om de vier nieuwe tabellen te maken, is dit de T-SQL die u in een nieuw queryvenster wilt uitvoeren.

    -- 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. Vouw het knooppunt Tabellen onder uwDatabase uit in het Objectverkenner om de vier nieuwe tabellen te zien die u hebt gemaakt.

    Screenshot of created tables in ADS.

Gegevens laden in de tabellen

  1. Maak een map met de naam sampleData in de map Downloads van uw lokale werkstation om voorbeeldgegevens voor uw database op te slaan. Bijvoorbeeld: c:\Users\<your user name>\Downloads.

  2. Klik met de rechtermuisknop op de volgende koppelingen en sla deze op in de map sampleData.

  3. Open een nieuw Windows-opdrachtpromptvenster en navigeer naar de map sampleData . Bijvoorbeeld: cd c:\Users\<your user name>\Downloads.

  4. Voer de volgende bcp opdrachten uit om voorbeeldgegevens in te voegen in de tabellen, waarbij u de waarden voor server, database, gebruiker en wachtwoord vervangt door de waarden voor uw omgeving.

    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 ","
    

U hebt nu voorbeeldgegevens geladen in de tabellen die u eerder hebt gemaakt.

Querygegevens

Voer de volgende T-SQL-query's uit om informatie op te halen uit de databasetabellen.

Met deze eerste query worden alle vier de tabellen samengevoegd om de studenten te vinden die zijn geleerd door 'Dominick Pope' die een cijfer hoger dan 75% hebben. Voer in een queryvenster de volgende T-SQL-query uit:

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

Met deze query worden alle vier de tabellen samengevoegd en worden de cursussen gevonden waarin Noe Coleman ooit is ingeschreven. Voer in een queryvenster de volgende T-SQL-query uit:

-- 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';

Tip

Ga naar Zelfstudie: Transact-SQL-instructies schrijven voor meer informatie over het schrijven van SQL-query's.

Tip

Bent u klaar om te beginnen met het ontwikkelen van een .NET-toepassing? Deze gratis Learn-module laat zien hoe u een ASP.NET-toepassing ontwikkelt en configureert waarmee een query wordt uitgevoerd op een Azure SQL Database, inclusief het maken van een eenvoudige database.

Volgende stap

Ga naar de volgende zelfstudie als u alles wilt weten over het ontwerpen van een database met Visual Studio en C#.