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 gebruiken we Azure SQL Database. U kunt ook een pooldatabase gebruiken in een elastische pool of een met SQL beheerd exemplaar. Zie de volgende quickstarts voor SQL Managed Instance: quickstart: Azure VM configureren om verbinding te maken met een met Azure SQL beheerd exemplaar en quickstart: Een punt-naar-site-verbinding met een met Azure SQL beheerd exemplaar configureren vanuit on-premises.
Voorwaarden
- Gebruik SQL Server Management Studio (nieuwste versie) of de Azure Portal-queryeditor voor Azure SQL Database.
- U kunt deze zelfstudie ook volgen met Azure Data Studio (ADS).
- BCP- en SQLCMD- (nieuwste versie).
- Als u geen Azure-abonnement hebt, moet u een gratis account maken 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 implementeren.
Aanmelden 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. Deze firewall voorkomt dat externe toepassingen en hulpprogramma's verbinding maken met de server en databases op de server, tenzij een firewallregel het IP-adres via de firewall toestaat. Als u externe connectiviteit met uw database wilt inschakelen, moet u eerst een IP-firewallregel toevoegen voor uw IP-adres (of IP-adresbereik). Volg deze stappen om een IP-firewallregel op serverniveau te 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. Zo ja, dan kunt u geen verbinding maken met uw database, tenzij de beheerder poort 1433 opent.
Nadat de implementatie is voltooid, selecteert u SQL-databases in het menu van Azure Portal of zoekt en selecteert u SQL-databases op een willekeurige pagina.
Selecteer yourDatabase op de pagina SQL-databases. De overzichtspagina voor uw database wordt geopend, met de volledig gekwalificeerde servernaam (zoals
contosodatabaseserver01.database.windows.net
) en opties voor verdere configuratie.Kopieer deze volledig gekwalificeerde servernaam voor gebruik om verbinding te maken met uw server en databases vanuit SQL Server Management Studio.
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 Voeg je client-IPv4 toe op de werkbalk om uw huidige IP-adres toe te voegen aan een nieuwe IP-firewallregel. Een IP-firewallregel kan poort 1433 openen voor één IP-adres of een bereik van IP-adressen.
Selecteer opslaan. Er wordt een IP-firewallregel op serverniveau gemaakt voor uw huidige IP-adres dat poort 1433 op de server opent.
Selecteer OK- en sluit vervolgens de pagina firewallinstellingen.
Uw IP-adres kan nu via de IP-firewall worden doorgegeven. U kunt nu verbinding maken met uw database met behulp van SQL Server Management Studio of een ander hulpprogramma van uw keuze. Zorg ervoor dat u het serverbeheerdersaccount gebruikt dat u eerder hebt gemaakt.
Belangrijk
Toegang via de IP-firewall van SQL Database is standaard ingeschakeld voor alle Azure-services. Selecteer UIT op deze pagina om uit te schakelen voor alle Azure-services.
Verbinding maken met de database
Azure SQL-databases bevinden zich binnen logische SQL-servers. Kan verbinding maken met de master
van de logische SQL-server met behulp van een aanmelding en vervolgens verbinding maken met uw database. Of, door gebruik te maken van een gebruiker die inis ingesloten, 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 met 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 Server-verificatie Gebruik SQL Server-verificatie om een gebruikersnaam en wachtwoord in te voeren. Microsoft Entra-verificatie Als u de Microsoft Entra-serverbeheerder bent, kiest u Microsoft Entra MFA-om verbinding te maken met behulp van Microsoft Entra ID. Zie Microsoft Entra-verificatie configureren en beheren met Azure SQLvoor meer informatie. Inloggen Het beheerdersaccount van de server Als u SQL Server-verificatie gebruikt, is het account dat u hebt opgegeven toen u de server maakte. wachtwoord Het wachtwoord voor uw serverbeheerdersaccount Als u SQL Server-verificatie gebruikt, is het wachtwoord dat u hebt opgegeven bij het aanmaken van de server van toepassing. Selecteer Opties in het dialoogvenster Verbinding maken met server. Voer in de sectie Verbinding maken met databaseyourDatabase in om verbinding te maken met deze database.
Selecteer Maak verbinding. Het venster Objectverkenner wordt geopend in SSMS.
Vouw in ObjectverkennerDatabases uit en vouw vervolgens yourDatabase uit om de objecten in de voorbeelddatabase weer te geven.
Klik in Objectverkennermet de rechtermuisknop op jouwDatabase 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
In het volgende diagram ziet u hoe deze tabellen aan elkaar zijn gerelateerd. Sommige van deze tabellen verwijzen naar kolommen in andere tabellen. De Student
tabel verwijst bijvoorbeeld naar de kolom PersonId
van de Person
tabel. Bekijk het diagram om te begrijpen hoe de tabellen in deze zelfstudie zijn gerelateerd aan elkaar. Zie Een genormaliseerde database ontwerpenvoor een uitgebreid overzicht van het maken van effectieve genormaliseerde databasetabellen. Zie Gegevenstypenvoor meer informatie over het kiezen van gegevenstypen. Standaard worden tabellen gemaakt in het standaardschema dbo
, wat betekent dat de tweedelige naam van een tabel bijvoorbeeld wordt dbo.Person
.
Notitie
U kunt de ontwerpfunctie voor tabellen ook gebruiken in SQL Server Management Studio om tabellen te maken en te 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 uit onder yourDatabase- in de Objectverkenner om de vier nieuwe tabellen te zien die u hebt gemaakt.
Gegevens in de tabellen laden
Maak een map met de naam sampleData op uw lokale werkstation Download map 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 de waarden voor server, database, gebruikeren wachtwoord worden vervangen 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.
Query's uitvoeren op gegevens
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';
Suggestie
Ga naar Zelfstudie: instructies voor het schrijven van Transact-SQL statementsvoor meer informatie over het schrijven van SQL-query's.
Verwante inhoud
- Zelfstudie: Een relationele database ontwerpen in Azure SQL Database met behulp van Azure Data Studio (ADS)
- Azure SQL Database gratis implementeren
- Wat is er nieuw in Azure SQL Database?
- Inhoudsverwijzing configureren en beheren - Azure SQL Database-
- kosten voor Azure SQL Database- plannen en beheren
Fooi
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 query's worden uitgevoerd op een Azure SQL Database-, inclusief het maken van een eenvoudige database.
Volgende stap
Ga naar de volgende zelfstudie voor meer informatie over het ontwerpen van een database met Visual Studio en C#.