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:
- Azure Data Studio (nieuwste versie)
- BCP en SQLCMD (nieuwste versie).
- Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
- Als u nog geen Azure SQL Database hebt gemaakt, gaat u naar Quickstart: Een individuele database maken. Zoek naar de optie om uw aanbieding te gebruiken om Azure SQL Database gratis te proberen (preview).
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.
Selecteer nadat de implementatie is voltooid SQL databases in het Azure Portal-menu of zoek ernaar en selecteer SQL databases in een andere pagina.
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.Kopieer vanuit SQL Server Management Studio deze volledig gekwalificeerde servernaam om verbinding te maken met de server en de databases.
Selecteer Netwerken onder Instellingen. Kies het tabblad Openbare toegang en selecteer vervolgens Geselecteerde netwerken onder Openbare netwerktoegang om de sectie Firewallregels weer te geven .
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.
Selecteer Opslaan. Er wordt een IP-firewallregel op serverniveau gemaakt voor uw huidige IP-adres waarbij poort 1433 wordt geopend op de server.
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.
Open Azure Data Studio.
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. Selecteer Verbinding maken. Het venster Objectverkenner wordt geopend in ADS.
In Objectverkenner vouwt u Databases en daarna yourDatabase uit om de objecten in de voorbeelddatabase weer te geven.
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
.
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.
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
Zorg ervoor dat u de instellingen voor de primaire sleutel voor de persoonstabel configureert, zoals hieronder wordt weergegeven:
Studententabel
Zorg ervoor dat u de instellingen voor de primaire sleutel voor de tabel Student configureert, zoals hieronder wordt weergegeven:
Zorg ervoor dat u de instellingen voor refererende sleutel voor de tabel Student configureert, zoals hieronder wordt weergegeven:
Cursustabel
Zorg ervoor dat u de instellingen voor de primaire sleutel voor de cursustabel configureert, zoals hieronder wordt weergegeven:
Tegoedtabel
Zorg ervoor dat u de instellingen voor refererende sleutel voor de credittabel configureert, zoals hieronder wordt weergegeven:
Zorg ervoor dat u de instellingen voor beperkingen controleren voor de krediettabel configureert, zoals hieronder wordt weergegeven:
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 ) )
Vouw het knooppunt Tabellen onder uwDatabase uit in het Objectverkenner om de vier nieuwe tabellen te zien die u hebt gemaakt.
Gegevens laden in de tabellen
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
.Klik met de rechtermuisknop op de volgende koppelingen en sla deze op in de map sampleData.
Open een nieuw Windows-opdrachtpromptvenster en navigeer naar de map sampleData . Bijvoorbeeld:
cd c:\Users\<your user name>\Downloads
.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.
Gerelateerde inhoud
- Zelfstudie: Een relationele database ontwerpen in Azure SQL Database
- Probeer Azure SQL Database gratis (preview)
- Wat is er nieuw in Azure SQL Database?
- Inhoudsverwijzing configureren en beheren - Azure SQL Database
- Kosten voor Azure SQL Database plannen en beheren
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#.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor