Självstudie: Utforma en relationsdatabas i Azure SQL Database med hjälp av Azure Data Studio (ADS)

Gäller för:Azure SQL Database

Azure SQL Database är en relationsdatabas-som-tjänst (DBaaS) som bygger på Microsoft Cloud (Azure). I den här självstudien får du lära dig hur du använder Azure-portalen och Azure Data Studio (ADS) för att:

  • Anslut till databasen med Azure Data Studio
  • Skapa tabeller med Azure Data Studio
  • Massinläsa data med BCP
  • Fråga efter data med Azure Data Studio

Kommentar

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 Hanterad Azure SQL-instans och snabbstart: Konfigurera en punkt-till-plats-anslutning till en Azure SQL Managed Instance lokalt.

Förutsättningar

För att kunna följa de här självstudierna ska du kontrollera att du har installerat:

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 eller databaser på servern såvida inte en brandväggsregel tillåter deras IP-adresser genom 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å.

Viktigt!

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.

  1. 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.

  2. Välj yourDatabasesidan SQL-databaser . Översiktssidan för databasen öppnas, som visar det fullständigt kvalificerade servernamnet (till exempel contosodatabaseserver01.database.windows.net) och innehåller alternativ för ytterligare konfiguration.

    Screenshot of the Azure portal, database overview page with the server name highlighted.

  3. Kopiera det här fullständigt kvalificerade servernamnet. Du behöver det när du ansluter till servern och dess databaser från SQL Server Management Studio.

  4. 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 .

    Screenshot of the Azure portal, networking page, showing where to set the server-level IP firewall rule.

  5. Välj Lägg till klient-IPv4 i verktygsfältet för att lägga till din aktuella IP-adress i en ny IP-brandväggsregel. Med en IP-brandväggsregel kan du öppna port 1433 för en enskild IP-adress eller för IP-adressintervall.

  6. Välj Spara. En IP-brandväggsregel på servernivå skapas för den aktuella IP-adressen som öppnar port 1433 på servern.

  7. 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 serveradmin-kontot som du skapade tidigare.

Viktigt!

Som standard är åtkomst via IP-brandväggen för SQL Database aktiverad för alla Azure-tjänster. Välj AV på den här sidan om du vill inaktivera åtkomsten för alla Azure-tjänster.

Ansluta till databasen

Använd Azure Data Studio för att upprätta en anslutning till databasen.

  1. Öppna Azure Data Studio.

  2. I new Anslut ion from the Object Explorer to create a new connection (Ny Anslut ion från Object Explorer) för att skapa en ny anslutning och ange följande information. Lämna andra alternativ som standard.

    Inställningen Föreslaget värde Beskrivning
    Anslutningstyp Microsoft SQL Server Detta värde krävs.
    Servernamn Det fullständigt kvalificerade logiska servernamnet för Azure SQL Database Exempel: your_logical_azure_sql_server.database.windows.net
    Typoe för autentisering SQL Server-autentisering Använd SQL Server-autentisering för att ange ett användarnamn och lösenord.
    Microsoft Entra-autentisering Om du är Microsoft Entra-serveradministratör för att ansluta med Microsoft Entra-ID väljer du Microsoft Entra ID – Universal med MFA-stöd. Mer information finns i Konfigurera och hantera Microsoft Entra-autentisering med Azure SQL.
    Inloggning Serveradministratörskontot Kontot som du angav när du skapade servern.
    Lösenord Lösenordet för serveradministratörskontot Detta är det lösenord som du angav när du skapade servern.

    Screenshot of connection dialog box in ADS.

  3. Välj Anslut. Fönstret Object Explorer öppnas i ADS.

  4. I Object Explorer expanderar du Databaser och sedan yourDatabase för att visa objekten i exempeldatabasen.

  5. I Object Explorer högerklickar du på yourDatabase och väljer sedan Ny fråga. Ett tomt frågefönster öppnas som är anslutet till databasen.

Skapa tabeller i databasen

Skapa ett databasschema med fyra tabeller som modellerar ett studenthanteringssystem för universitet med hjälp av Tabelldesignern i Azure Data Studio:

  • Person
  • Course
  • Student
  • Credit

Följande diagram visar hur tabellerna är relaterade till varandra. Vissa av tabellerna hänvisar till kolumner i andra tabeller. Tabellen refererar till exempel Student till PersonId kolumnen i Person tabellen. Studera diagrammet för att förstå hur tabellerna i de här självstudierna är relaterade 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 namnet på en tabell i två delar till exempel är dbo.Person.

Screenshot of Table relationships.

  1. I Object Explorer väljer du dinDatabase som expanderar den nedrullningsbara menyn för alla processer som lagras i den här databasen, högerklickar på mappen Tabeller och väljer Ny tabell. En tom tabelldesigner öppnas som är ansluten till databasen.

  2. Använd tabelldesignergränssnittet för att skapa dessa fyra tabeller i databasen. Mer information om hur du skapar tabeller med hjälp av Tabelldesignern finns i dokumentationen för Table Designer:

    • Persontabell

      Screenshot of Person Table in Table Designer.

      Se till att konfigurera inställningarna för primärnyckeln för persontabellen enligt nedan:

      Screenshot of Person table in Table Designer showing the Primary Key settings.

    • Studenttabell

      Screenshot of Student table in Table Designer.

      Se till att konfigurera primärnyckelinställningarna för studenttabellen enligt nedan:Screenshot of Student table in Table Designer showing Primary Key settings.

      Se till att konfigurera inställningarna för sekundärnyckel för studenttabellen enligt nedan:Screenshot Student table in Table Designer showing Foreign Key settings.

    • Kurstabell

      Screenshot of Course Table in Table Designer.

      Se till att konfigurera primärnyckelinställningarna för kurstabellen enligt nedan:Screenshot of Course table in Table Designer showing Primary Key settings.

    • Kredittabell

      Screenshot of Credit Table in Table Designer.

      Se till att konfigurera inställningarna för sekundärnyckel för kredittabellen enligt nedan:Screenshot of Credit Table in Table Designer showing Foreign Key settings.

      Se till att konfigurera inställningarna för kontrollvillkor för kredittabellen enligt nedan:Screenshot of Credit Table in Table Designer showing Check Constraint settings.

    Om du föredrar att använda T-SQL för att skapa de fyra nya tabellerna, här är T-SQL att köra i ett nytt frågefönster.

    -- 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
        )
    )
    
  3. Expandera noden Tabeller under yourDatabase i Object Explorer för att se de fyra nya tabeller som du skapade.

    Screenshot of created tables in ADS.

Läs in data till tabellerna

  1. Skapa en mapp med namnet sampleData i mappen Nedladdningar av din lokala arbetsstation för att lagra exempeldata för databasen. Exempel: c:\Users\<your user name>\Downloads

  2. Högerklicka på följande länkar och spara dem i mappen sampleData.

  3. Öppna ett nytt Windows-kommandotolkfönster och gå till mappen sampleData . Exempel: cd c:\Users\<your user name>\Downloads

  4. Kör följande bcp kommandon för att infoga exempeldata i tabellerna som ersätter värdena för server, databas, användare och 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 ","
    

Du har nu läst in exempeldata i de tabeller 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 som är 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';

Dricks

Mer information om hur du skriver SQL-frågor finns i Självstudie: Skriva Transact-SQL-instruktioner.

Dricks

Är du redo att börja utveckla ett .NET-program? Den här kostnadsfria Learn-modulen visar hur du utvecklar och konfigurerar ett ASP.NET program som kör frågor mot en Azure SQL Database, inklusive skapandet av en enkel databas.

Gå vidare

Gå vidare till fler självstudier för att lära dig att utforma en databas med Visual Studio och C#.