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 database-as-a-service (DBaaS) in de Microsoft Cloud (Azure). In deze zelfstudie leert u hoe u Azure Portal en Azure Data Studio (ADS) kunt gebruiken om:
- Verbinding maken met 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 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
Als u deze zelfstudie wilt voltooien, controleert u of u het volgende hebt geïnstalleerd:
- Azure Data Studio- (nieuwste versie)
- BCP- en SQLCMD- (nieuwste versie).
- Als u geen Azure-abonnement hebt, maak 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 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 uw client-IPv4-adres 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
Gebruik Azure Data Studio- om verbinding te maken met uw database.
Open Azure Data Studio.
Om in de Nieuwe Verbinding vanuit de Object Explorer een nieuwe verbinding te maken, voert u 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
.verificatietype 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-id - Universeel met MFA-ondersteuningom verbinding te maken met microsoft Entra-id. Zie Microsoft Entra-verificatie configureren en beheren met Azure SQLvoor meer informatie. Inloggen Het beheerdersaccount van de server Het account dat u hebt opgegeven toen u de server maakte. wachtwoord Het wachtwoord voor uw serverbeheerdersaccount Het wachtwoord dat u hebt opgegeven bij het maken van de server. Selecteer Maak verbinding. Het venster Objectverkenner wordt geopend in ADS.
Vouw in ObjectverkennerDatabases uit en vouw vervolgens yourDatabase uit om de objecten in de voorbeelddatabase weer te geven.
Klik in Objectverkennermet de rechtermuisknop op uwDatabase 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 studentenbeheersysteem modelleren voor universiteiten met behulp van de tabelontwerper in Azure Data Studio:
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
.
Selecteer in ObjectverkenneryourDatabase, waarmee de vervolgkeuzelijst van alle objecten die in deze database zijn opgeslagen, wordt uitgevouwen. Klik 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 Person Tabel configureert, zoals hieronder wordt weergegeven:
Studententabel
Zorg ervoor dat u de instellingen voor de primaire sleutel voor de Student Tabel configureert, zoals hieronder wordt weergegeven:
Zorg ervoor dat u de instellingen voor Foreign Key voor de Student Tabel configureert, zoals hieronder te zien is:
Cursustabel
Zorg ervoor dat u de instellingen voor de primaire sleutel voor de Course Table configureert, zoals hieronder wordt weergegeven:
Tegoedtabel
Zorg ervoor dat u de Foreign Key-instellingen voor de Credit Tabel configureert, zoals hieronder weergegeven:
Zorg ervoor dat u de instellingen voor de Check Constraint van de Krediet Tabel configureert, zoals hieronder wordt weergegeven:
Als u liever T-SQL gebruikt om de vier nieuwe tabellen te maken, gaat u als volgt te werk om T-SQL uit te voeren in een nieuw queryvenster.
-- 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';
Tip
Ga naar Zelfstudie: Transact-SQL instructies schrijvenvoor meer informatie over het schrijven van SQL-query's.
Verwante inhoud
- Zelfstudie: Een relationele database ontwerpen in Azure SQL Database
- 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#.