Zelfstudie: Een relationele database ontwerpen in Azure SQL Database
Van toepassing op: Azure SQL Database
Azure SQL Database is een relationele database-as-a-service (DBaaS) in Microsoft Azure. In deze zelfstudie leert u het volgende:
- Verbinding maken met de database
- Tabellen maken met T-SQL-opdrachten
- Gegevens bulksgewijs laden met BCP
- Query's uitvoeren op gegevens met T-SQL-opdrachten
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
- Gebruik SQL Server Management Studio (nieuwste versie) of de Azure-portal Power Query-editor voor Azure SQL Database.
- U kunt deze zelfstudie ook volgen met behulp van Azure Data Studio (ADS).
- 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 met deze service probeert te maken vanuit een bedrijfsnetwerk, wordt 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
Azure SQL-databases bestaan in logische SQL-servers. Kan verbinding maken met de logische SQL-server master
via een aanmelding en vervolgens verbinding maken met uw database. Of als u een ingesloten gebruiker gebruikt, kunt u rechtstreeks verbinding maken met uw Azure SQL-database.
Gebruik SQL Server Management Studio om verbinding te maken met uw Azure SQL-database.
Open SQL Server Management Studio.
Voer in het dialoogvenster Verbinding maken server de volgende gegevens in. Laat andere opties standaard staan.
Instelling Voorgestelde waarde Beschrijving Servertype Database-engine 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
.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 MFA 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 Als u SQL Server-verificatie gebruikt, is het account dat u hebt opgegeven toen u de server maakte. Wachtwoord Het wachtwoord voor het beheerdersaccount voor de server Als u SQL Server-verificatie gebruikt, wordt het wachtwoord dat u hebt opgegeven bij het maken van de server. Selecteer Opties in het dialoogvenster Verbinding maken naar server. Voer in de sectie Verbinding maken met database yourDatabase in om verbinding te maken met deze database.
Selecteer Verbinding maken. Het venster Objectverkenner wordt geopend in SSMS.
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 vier tabellen die een studentbeheersysteem modelleren voor universiteiten met behulp van Transact-SQL:
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
.
Notitie
U kunt ook de functie voor het ontwerpen van tabellen in SQL Server Management Studio gebruiken om tabellen te maken en ontwerpen.
Voer in het queryvenster de volgende T-SQL-query uit om vier tabellen in uw database te maken:
-- 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 met behulp van Azure Data Studio (ADS)
- 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#.