Tutorial: Criar um banco de dados relacional no Banco de Dados SQL do Azure usando o Visual Studio Code

Aplica-se a:Banco de Dados SQL do Azure

O Banco de Dados SQL do Azure é um DBaaS (banco de dados como serviço) relacional no Microsoft Cloud (Azure). Neste tutorial, você aprenderá a usar o portal do Azure e a extensão MSSQL para o Visual Studio Code para:

  • Conectar-se ao banco de dados com o Visual Studio Code
  • Criar tabelas com o Visual Studio Code
  • Carregar dados em massa com o BCP
  • Consultar dados com o Visual Studio Code

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 uma Instância Gerenciada de SQL. Para obter conectividade com uma Instância Gerenciada de SQL, confira estes guias de início rápido da Instância Gerenciada de SQL: Início Rápido: Configurar uma VM do Azure para se conectar à Instância Gerenciada de SQL do Azure e ao Início Rápido: Configurar uma conexão ponto a site com a Instância Gerenciada de SQL do Azure localmente.

Pré-requisitos

Para concluir este tutorial, verifique se você instalou:

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 rede. Nesse caso, você não poderá se conectar 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.

    Captura de tela do portal do Azure, página de visão geral do banco de dados com o nome do servidor realçado.

  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.

    Captura de tela do portal do Azure, página de rede, mostrando onde definir a regra de firewall de IP no nível do servidor.

  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 seu endereço IP atual, abrindo 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 OFF nesta página para desabilitar todos os serviços do Azure.

Conectar-se ao banco de dados

Use a extensão MSSQL para Visual Studio Code para estabelecer uma conexão com seu banco de dados.

  1. Abra o Visual Studio Code.

  2. Na Nova Conexão do Pesquisador de Objetos para criar uma nova conexão e inserir as informações a seguir. Deixe outras opções como o padrão.

    Configurações Valor sugerido DESCRIÇÃO
    Tipo de conexão Microsoft SQL Server Esse valor é necessário.
    Nome do servidor O nome do servidor lógico totalmente qualificado do Banco de Dados SQL do Azure Por exemplo, your_logical_azure_sql_server.database.windows.net.
    Tipo de 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 a ID do Microsoft Entra, se você for o administrador do servidor do Microsoft Entra, escolha a ID do Microsoft Entra – Universal com suporte de 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 A conta que você especificou quando criou o servidor.
    Senha A senha para sua conta do administrador do servidor A senha que você especificou quando criou o servidor.

    Captura de tela da caixa de diálogo de conexão no ADS.

  3. Selecione Conectar. A janela Pesquisador de Objetos é aberta no ADS.

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

  5. 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 um esquema de banco de dados com quatro tabelas que modelam um sistema de gerenciamento de alunos para universidades usando o Designer de Tabela:

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

Captura de tela das relações de tabela.

  1. No Pesquisador de Objetos, selecione seuDatabase , que expande o menu suspenso de todos os processos armazenados neste banco de dados, clique com o botão direito do mouse na pasta Tabelas e selecione Nova Tabela. Um Designer de Tabela em branco, conectado ao seu banco de dados, é aberto.

  2. Use a interface do Designer de Tabela para criar essas quatro tabelas em seu banco de dados. Para saber mais sobre como criar tabelas usando o Designer de Tabela, consulte Designer de Tabela:

    • Tabela de Pessoas

      Captura de tela da Tabela de Pessoas no Designer de Tabela.

      Defina as configurações da Chave Primária para a Tabela de Pessoas , conforme mostrado abaixo:

      Captura de tela da tabela Pessoa no Designer de Tabela mostrando as configurações da Chave Primária.

    • Tabela do Aluno

      Captura de tela da tabela Student no Designer de Tabela.

      Defina as configurações da Chave Primária para a Tabela do Aluno , conforme mostrado abaixo: Captura de tela da tabela Student no Designer de Tabela mostrando as configurações da Chave Primária.

      Defina as configurações de Chave Estrangeira para a tabela Aluno, conforme mostrado abaixo: Captura de tela da tabela Aluno no Designer de Tabela mostrando as configurações de Chave Estrangeira.

    • Tabela de Cursos

      Captura de tela da Tabela de Cursos no Designer de Tabela.

      Defina as configurações da Chave Primária para a Tabela de Curso , conforme mostrado abaixo: Captura de tela da tabela Curso no Designer de Tabela mostrando as configurações da Chave Primária.

    • Tabela de Crédito

      Captura de tela da Tabela de Crédito no Designer de Tabela.

      Defina as configurações de Chave Estrangeira para a Tabela de Crédito , conforme mostrado abaixo: Captura de tela da Tabela de Crédito no Designer de Tabela mostrando as configurações de Chave Estrangeira.

      Defina as configurações de Restrição de Verificação para a Tabela de Crédito , conforme mostrado abaixo: Captura de tela da Tabela de Crédito no Designer de Tabela mostrando as configurações de Restrição de Verificação.

    Se você preferir usar o T-SQL para criar as quatro novas tabelas, aqui está o T-SQL a ser executado em uma nova janela de consulta.

    -- Create Person table
    CREATE TABLE Person
    (
        PersonId INT IDENTITY PRIMARY KEY,
        FirstName NVARCHAR (128) NOT NULL,
        MiddleInitial NVARCHAR (10),
        LastName NVARCHAR (128) NOT NULL,
        DateOfBirth DATE NOT NULL
    );
    
    -- Create Student table
    CREATE TABLE Student
    (
        StudentId INT IDENTITY PRIMARY KEY,
        PersonId INT FOREIGN KEY 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 FOREIGN KEY REFERENCES Student (StudentId),
        CourseId INT FOREIGN KEY REFERENCES Course (CourseId),
        Grade DECIMAL (5, 2) CHECK (Grade <= 100.00),
        Attempt TINYINT,
        CONSTRAINT [UQ_studentgrades] UNIQUE CLUSTERED (StudentId, CourseId, Grade, Attempt)
    );
    
  3. Expanda o nó Tabelas em seuBancoDeDados no Gerenciador de Objetos para ver as quatro novas tabelas que você criou.

    Captura de tela das tabelas criadas no ADS.

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.