Självstudie: Utforma en relationsdatabas i Azure SQL Database
gäller för:Azure SQL Database
Azure SQL Database är en relationsdatabas som en tjänst (DBaaS) i Microsoft Azure. I den här handledningen lär du dig att:
- Ansluta till databasen
- Skapa tabeller med T-SQL-kommandon
- Massinläsning av data med BCP
- Fråga efter data med T-SQL-kommandon
Anteckning
I den här självstudien använder vi Azure SQL Database. Du kan också använda en pooldatabas i en elastisk pool eller en SQL Managed Instance. För anslutning till en SQL Managed Instance, se dessa snabbstarter för SQL Managed Instance: Snabbstart: Konfigurera en virtuell Azure-dator för att ansluta till en Azure SQL Managed Instance- och snabbstart: Konfigurera en punkt-till-plats-anslutning till en Azure SQL Managed Instance från lokala.
Förutsättningar
- Använd SQL Server Management Studio (senaste versionen) eller Azure Portal Query Editor för Azure SQL Database.
- Du kan också följa samma handledning med hjälp av Azure Data Studio (ADS).
- BCP och SQLCMD (senaste versionen).
- Om du inte har en Azure-prenumeration skapa ett kostnadsfritt konto innan du börjar.
- Om du inte redan har skapat en Azure SQL Database kan du gå till snabbstarten : Skapa en enkel databas. Leta efter alternativet att använda ditt erbjudande för att Distribuera Azure SQL Database kostnadsfritt.
Logga in på Azure-portalen
Logga in på Azure-portalen.
Skapa en IP-brandväggsregel på servernivå
Azure SQL Database skapar en IP-brandvägg på servernivå. Den här brandväggen förhindrar att externa program och verktyg ansluter till servern och databaser på servern om inte en brandväggsregel tillåter deras IP-adress via brandväggen. Om du vill aktivera extern anslutning till databasen måste du först lägga till en IP-brandväggsregel för din IP-adress (eller IP-adressintervall). Följ de här stegen för att skapa en IP-brandväggsregel på servernivå.
Viktig
Azure SQL Database kommunicerar via port 1433. Om du försöker ansluta till den här tjänsten inifrån ett företagsnätverk kanske utgående trafik via port 1433 inte tillåts av nätverkets brandvägg. I så fall kan du inte ansluta till databasen om inte administratören öppnar port 1433.
När distributionen är klar väljer du SQL-databaser på Menyn i Azure-portalen eller söker efter och väljer SQL-databaser från valfri sida.
Välj dinDatabas på sidan SQL-databaser. Översiktssidan för databasen öppnas och visar det fullständigt kvalificerade Servernamn (till exempel
contosodatabaseserver01.database.windows.net
) och innehåller alternativ för ytterligare konfiguration.Kopiera det här fullständigt kvalificerade servernamnet för användning för att ansluta till servern och databaserna från SQL Server Management Studio.
Välj Nätverk under Inställningar. Välj fliken offentlig åtkomst och välj sedan Valda nätverk under Åtkomst till offentligt nätverk för att visa avsnittet Brandväggsregler.
Välj Lägg till din klient-IPv4- i verktygsfältet för att lägga till din aktuella IP-adress i en ny IP-brandväggsregel. En IP-brandväggsregel kan öppna port 1433 för en enskild IP-adress eller ett intervall med IP-adresser.
Välj Spara. En brandväggsregel på servernivå skapas för din nuvarande IP-adress och öppnar port 1433 på servern.
Välj OK och stäng sedan sidan Brandväggsinställningar.
Din IP-adress kan nu passera genom IP-brandväggen. Nu kan du ansluta till databasen med hjälp av SQL Server Management Studio eller något annat valfritt verktyg. Se till att använda det serveradministratörskonto som du skapade tidigare.
Viktig
Som standard är åtkomst via SQL Database IP-brandvägg aktiverad för alla Azure-tjänster. Välj OFF på den här sidan för att inaktivera för alla Azure-tjänster.
Ansluta till databasen
Azure SQL-databaser finns i logiska SQL-servrar. Kan ansluta till den logiska SQL-serverns master
med hjälp av en inloggning och sedan ansluta till databasen. Eller så kan du ansluta direkt till din Azure SQL-databas med hjälp av en innesluten användare.
Använd SQL Server Management Studio för att ansluta till din Azure SQL-databas.
Öppna SQL Server Management Studio.
I dialogrutan Anslut till server anger du följande information. Lämna andra alternativ som standard.
Inställning Föreslaget värde Beskrivning Servertyp Databasmotor Det här värdet krävs. Servernamn Det fullständigt kvalificerade logiska servernamnet för Azure SQL Database Till exempel your_logical_azure_sql_server.database.windows.net
.autentisering SQL Server-autentisering Använd SQL Server-autentisering för att ange ett användarnamn och lösenord. Microsoft Entra-autentisering För att koppla upp dig med Microsoft Entra ID, om du är Microsoft Entra-serveradministratör, välj Microsoft Entra MFA. Mer information finns i Konfigurera och hantera Microsoft Entra-autentisering med Azure SQL. Inloggning Serveradministratörskontot Om du använder SQL Server-autentisering, det konto som du angav när du skapade servern. Lösenord Lösenordet för serveradministratörskontot Om du använder SQL Server-autentisering, lösenordet som du angav när du skapade servern. Välj Alternativ i dialogrutan Anslut till server. I avsnittet Anslut till databas anger du dinDatabase- för att ansluta till den här databasen.
Välj Anslut. Fönstret Object Explorer öppnas i SSMS.
I Object Explorerexpanderar du Databases och expanderar sedan dinDatabase- för att visa objekten i exempeldatabasen.
I Object Explorer, högerklicka på dinDatabas och välj Ny fråga. Ett tomt frågefönster öppnas som är anslutet till databasen.
Skapa tabeller i databasen
Skapa fyra tabeller som modellerar ett studenthanteringssystem för universitet med Transact-SQL-:
Person
Course
Student
Credit
Följande diagram visar hur dessa tabeller är relaterade till varandra. Vissa av dessa tabeller refererar till kolumner i andra tabeller. Tabellen Student
refererar till exempel till kolumnen PersonId
i tabellen Person
. Studera diagrammet för att förstå hur tabellerna i den här handledningen förhåller sig till varandra. En djupgående titt på hur du skapar effektiva normaliserade databastabeller finns i Designa en normaliserad databas. Information om hur du väljer datatyper finns i Datatyper. Som standard skapas tabeller i standardschemat dbo
, vilket innebär att tabellnamnet i två delar blir dbo.Person
, till exempel.
Anteckning
Du kan också använda tabelldesignern i SQL Server Management Studio för att skapa och utforma dina tabeller.
I frågefönstret kör du följande T-SQL-fråga för att skapa fyra tabeller i databasen:
-- 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 ) )
Expandera noden Tables under yourDatabase i Object Explorer för att se de fyra nya tabeller som du skapade.
Ladda data i tabellerna
Skapa en mapp med namnet sampleData i din lokala arbetsstation Laddar ned mapp för att lagra exempeldata för databasen. Till exempel
c:\Users\<your user name>\Downloads
.Högerklicka på följande länkar och spara dem i mappen sampleData.
Öppna ett nytt Windows-kommandotolkfönster och gå till mappen sampleData. Till exempel
cd c:\Users\<your user name>\Downloads
.Kör följande
bcp
-kommandon för att infoga exempeldata i tabellerna som ersätter värdena för server, databas, användareoch lösenord med värdena för din miljö.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 ","
Nu har du läst in exempeldata i tabellerna som du skapade tidigare.
Fråga efter data
Kör följande T-SQL-frågor för att hämta information från databastabellerna.
Den här första frågan sammanfogar alla fyra tabellerna för att hitta eleverna som undervisas av "Dominick Pope" som har ett betyg högre än 75%. Kör följande T-SQL-fråga i ett frågefönster:
-- 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;
Den här frågan kopplar samman alla fyra tabellerna och hittar de kurser där Noe Coleman någonsin har registrerats. Kör följande T-SQL-fråga i ett frågefönster:
-- 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';
Tips
Mer information om hur du skriver SQL-frågor finns i handledningen : Skriv Transact-SQL-instruktioner.
Relaterat innehåll
- Självstudie: Utforma en relationsdatabas i Azure SQL Database med hjälp av Azure Data Studio (ADS)
- Distribuera Azure SQL Database kostnadsfritt
- Vad är nytt i Azure SQL Database?
- Konfigurera och hantera innehållsreferens – Azure SQL Database-
- Planera och hantera kostnader för Azure SQL Database
Tips
Är du redo att börja utveckla ett .NET-program? Den här kostnadsfria Learn-modulen visar hur du utvecklar och konfigurerar en ASP.NET-applikation som kör frågor mot en Azure SQL Database, inklusive skapandet av en enkel databas.
Nästa steg
Gå vidare till nästa självstudie för att lära dig hur du utformar en databas med hjälp av Visual Studio och C#.