Tutorial: como criar um banco de dados relacional no Banco de Dados SQL do Azure

Aplica-se a:Banco de Dados SQL do Azure

O Banco de Dados SQL do Azure é um DBaaS (banco de dados como serviço) no Microsoft Azure. Neste tutorial, você aprenderá a:

  • Conectar-se ao banco de dados
  • Criar tabelas com comandos T-SQL
  • Carregar dados em massa com o BCP
  • Consultar dados com comandos T-SQL

Observação

Para os fins deste tutorial, estamos usando o Banco de Dados SQL do Azure. Você também pode usar um banco de dados em pool em um pool elástico ou em uma Instância Gerenciada de SQL. Para conectividade com uma Instância Gerenciada de SQL, confirme esses inícios rápidos da Instância Gerenciada do SQL: Início Rápido: Configurar a VM do Azure para conectar-se a uma Instância Gerenciada de SQL do Azure e Início Rápido: Configurar uma conexão ponto a site a uma Instância Gerenciada de SQL do Azure do local.

Pré-requisitos

Entre no Portal do Azure

Entre no portal do Azure.

Criar uma regra de firewall de IP no nível do servidor

O Banco de Dados SQL do Azure cria um firewall de IP no nível do servidor. Esse firewall impede que os aplicativos e ferramentas externos se conectem ao servidor e aos bancos de dados no servidor, a menos que uma regra de firewall permita seu IP por meio do firewall. Para habilitar a conectividade externa com seu banco de dados, primeiro adicione uma regra de firewall de IP ao seu endereço IP (ou intervalo de endereços IP). Siga estas etapas para criar uma regra de firewall de IP no nível do servidor.

Importante

O Banco de Dados SQL do Azure se comunica pela porta 1433. Se você estiver tentando se conectar a esse serviço de dentro de uma rede corporativa, o tráfego de saída pela porta 1433 poderá não ser permitido pelo firewall da sua rede. Se isso acontecer, você não poderá conectar-se ao banco de dados, a menos que o administrador abra a porta 1433.

  1. Após a conclusão da implantação, selecione bancos de dados SQL no menu do portal do Azure ou pesquise e selecione bancos de dados SQL em qualquer página.

  2. Selecione yourDatabase na página bancos de dados SQL. A página de visão geral do seu banco de dados é aberta, mostrando o nome do servidor totalmente qualificado (tal como contosodatabaseserver01.database.windows.net) e fornece opções para configurações adicionais.

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

  3. Copie esse nome totalmente qualificado do servidor para usá-lo para se conectar ao seu servidor e bancos de dados do SQL Server Management Studio.

  4. Selecione Rede em Configurações. Escolha a guia Acesso Público e selecione Redes selecionadas em Acesso à rede pública para exibir a seção Regras de firewall.

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

  5. Selecione Adicionar IPv4 do cliente na barra de ferramentas para adicionar seu endereço IP atual a uma nova regra de firewall de IP. Uma regra de firewall de IP pode abrir a porta 1433 para um único endereço IP ou um intervalo de endereços IP.

  6. Clique em Salvar. Uma regra de firewall de IP no nível do servidor é criada para o endereço IP atual que abre a porta 1433 no servidor.

  7. Selecione OK e, em seguida, feche a página Configurações do Firewall.

Agora seu endereço IP pode passar pelo firewall de IP. Agora, é possível se conectar ao seu banco de dados usando o SQL Server Management Studio ou outra ferramenta de sua escolha. Use a conta do administrador do servidor criada anteriormente.

Importante

Por padrão, o acesso por meio do firewall de IP do Banco de Dados SQL é habilitado para todos os serviços do Azure. Selecione DESLIGAR nessa página para desabilitar todos os serviços do Azure.

Conectar-se ao banco de dados

Os bancos de dados SQL do Azure existem em servidores SQL lógicos. Pode se conectar ao master do SQL Server lógico usando um logon e, em seguida, conectar ao seu banco de dados. Ou, usando um usuário contido, você pode se conectar diretamente ao seu banco de dados SQL do Azure.

Use o SQL Server Management Studio para se conectar ao seu banco de dados SQL do Azure.

  1. Abra o SQL Server Management Studio.

  2. Na caixa de diálogo Conectar ao Servidor, insira as informações a seguir. Deixe outras opções como o padrão.

    Configuração Valor sugerido Descrição
    Tipo de servidor Mecanismo de banco de dados Esse valor é necessário.
    Nome do servidor O nome totalmente qualificado do servidor lógico do Banco de Dados SQL do Azure Por exemplo, your_logical_azure_sql_server.database.windows.net.
    Autenticação Autenticação do SQL Server Use a autenticação do servidor SQL para inserir um nome de usuário e uma senha.
    autenticação do Microsoft Entra Para se conectar usando o Microsoft Entra ID, se você for o administrador do servidor Microsoft Entra, escolha Microsoft Entra MFA. Para obter mais informações, consulte Configurar e gerenciar a autenticação do Microsoft Entra com o SQL do Azure.
    Logon A conta do administrador do servidor Se estiver usando a Autenticação do SQL Server, a conta que você especificou ao criar o servidor.
    Senha A senha para sua conta do administrador do servidor Se estiver usando a Autenticação do SQL Server, a senha que você especificou ao criar o servidor.

    Screenshot of the connect to an Azure SQL Database logical server server dialog box in SQL Server Management Studio (SSMS).

  3. Selecione Opções na caixa de diálogo Conectar ao servidor. Na seção Conectar ao banco de dados, digite yourDatabase para conectar-se a este banco de dados.

    Screenshot of the options tab of the connect to server dialog box in SQL Server Management Studio (SSMS).

  4. Selecione Conectar. A janela Pesquisador de Objetos abre no SSMS.

  5. No Pesquisador de Objetos, expanda Bancos de Dados e expanda yourDatabase para exibir os objetos no banco de dados de exemplo.

    Screenshot of SQL Server Management Studio (SSMS) showing database objects in object explorer.

  6. No Pesquisador de Objetos, clique com o botão direito do mouse em yourDatabase e selecione Nova Consulta. Uma janela de consulta em branco conectada ao seu banco de dados é aberta.

Criar tabelas no banco de dados

Crie quatro tabelas que modelam um sistema de gerenciamento de alunos para universidades, usando Transact-SQL:

  • Person
  • Course
  • Student
  • Credit

O diagrama a seguir mostra como essas tabelas estão relacionadas. Algumas dessas tabelas fazem referência a colunas em outras tabelas. Por exemplo, a tabela Student faz referência à coluna PersonId da tabela Person. Estude o diagrama para entender como as tabelas neste tutorial estão relacionadas umas com as outras. Para obter uma visão detalhada de como criar tabelas de banco de dados normalizadas efetivas, consulte Criando um banco de dados normalizado. Para obter informações sobre como escolher tipos de dados, consulte Tipos de dados. Por padrão, as tabelas são criadas no esquema dbo padrão, o que significa que o nome de duas partes de uma tabela será dbo.Person, por exemplo.

Observação

Você também pode usar o designer de tabela no SQL Server Management Studio para criar e projetar suas tabelas.

Screenshot of the table designer in SQL Server Management Studio (SSMS) showing the table relationships.

  1. Na janela de consultas, execute a consulta T-SQLa seguir para criar quatro tabelas em seu banco de dados:

    -- 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
        )
    )
    

    Screenshot from SSMS showing the create tables script has been successfully executed.

  2. Expanda o nó Tabelas em yourDatabase no Pesquisador de Objetos para ver as quatro novas tabelas que você criou.

Carregar dados nas tabelas

  1. Crie uma pasta chamada sampleData na pasta Downloads da estação de trabalho local para armazenar os dados de exemplo de seu banco de dados. Por exemplo, c:\Users\<your user name>\Downloads.

  2. Clique com o botão direito do mouse nos seguintes links e salve-os na pasta sampleData.

  3. Abra uma nova janela de prompt de comando do Windows e navegue até a pasta sampleData. Por exemplo, cd c:\Users\<your user name>\Downloads.

  4. Execute os comandos bcp a seguir para inserir dados de exemplo nas tabelas, substituindo os valores de server, database, user e password pelos valores do seu ambiente.

    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 ","
    

Agora, você carregou dados de exemplo nas tabelas que criou anteriormente.

Consultar dados

Execute as seguintes consultas T-SQL para recuperar as informações das tabelas do banco de dados.

Essa primeira consulta une todas as quatro tabelas para localizar os alunos ensinados por "Dominick Pope" com nota superior a 75%. Em uma janela de consulta, execute a seguinte consulta T-SQL:

-- 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;

Essa consulta une todas as quatro tabelas e localiza os cursos em que "Noe Coleman" já se registrou. Em uma janela de consulta, execute a seguinte consulta T-SQL:

-- 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';

Dica

Para saber mais sobre como escrever consultas SQL, visite o Tutorial: Escrever instruções Transact-SQL.

Dica

Tudo pronto para começar a desenvolver um aplicativo .NET? Este módulo gratuito do Learn mostra como Desenvolver e configurar um aplicativo ASP.NET que consulta um Banco de Dados SQL do Azure, incluindo a criação de um banco de dados simples.

Próxima etapa

Avance para o próximo tutorial para saber mais sobre como criar um banco de dados usando Visual Studio e C#.