O exame DP-900 avalia se voce entende como funcionam os bancos de dados relacionais e qual servico Azure SQL usar em cada situacao. Este guia explica tudo, desde tabelas ate a sintaxe SQL e os produtos de banco de dados do Azure, sem necessidade de experiencia em programacao.
O que sao dados relacionais?
Pense em uma agenda de contatos. Cada pessoa ocupa uma linha e cada coluna guarda um tipo de informacao: nome, telefone, cidade. Isso e essencialmente uma tabela de banco de dados relacional. Os dados sao organizados em linhas e colunas com uma estrutura fixa, e varias tabelas podem ser vinculadas entre si para representar relacionamentos do mundo real de forma eficiente.
| Conceito | Descricao | Analogia cotidiana | |---------|-----------|-------------------| | Tabela | Armazena dados em linhas e colunas | Uma planilha | | Linha | Um registro de dados individual | Uma pessoa na agenda | | Coluna | Um atributo do dado | A coluna "telefone" | | Esquema | A definicao da estrutura da tabela | As regras de nomes e tipos de dados |
Chaves — como as tabelas se conectam
A chave primaria (Primary Key) identifica de forma unica cada linha de uma tabela. Nao pode ser duplicada nem ficar vazia. E como o numero de matricula de um aluno: mesmo que dois alunos tenham o mesmo nome, o numero e sempre unico.
A chave estrangeira (Foreign Key) e uma referencia a chave primaria de outra tabela. Em vez de copiar todos os dados do cliente em cada pedido, voce armazena apenas o customer_id como referencia. Isso evita duplicatas e garante consistencia: se o telefone do cliente mudar, voce so atualiza em um lugar.
!Chave primária vs chave estrangeira
Normalizacao — eliminando dados duplicados
Guardar o telefone do cliente em cada linha da tabela de pedidos e um problema: se o numero mudar, voce precisa atualizar em todos os lugares, e se esquecer uma linha, os dados ficam inconsistentes. A normalizacao resolve isso armazenando cada dado em um so lugar e usando referencias (chaves estrangeiras) para conectar as tabelas. Os objetivos principais sao minimizar a redundancia, evitar inconsistencias e prevenir anomalias ao modificar ou excluir dados.
Sintaxe SQL basica
SQL e a linguagem usada para se comunicar com um banco de dados relacional. Ela se le quase como ingles natural.
SELECT le dados de uma tabela. INSERT adiciona uma nova linha. UPDATE modifica linhas existentes — sempre use WHERE ou voce modificara todas as linhas. DELETE remove linhas — sempre use WHERE ou voce apagara toda a tabela. JOIN combina dados de duas tabelas usando uma chave compartilhada, como unir uma lista de alunos com suas notas.
| Instrucao | O que faz | Analogia | |-----------|-----------|----------| | SELECT | Ler dados | Procurar um nome na agenda | | INSERT | Adicionar uma linha | Registrar uma nova pessoa | | UPDATE | Modificar uma linha | Corrigir um telefone | | DELETE | Remover uma linha | Apagar uma entrada | | JOIN | Combinar duas tabelas | Unir lista de turma com notas |
Objetos de banco de dados
Uma view e uma consulta salva que parece uma tabela. E como um filtro favorito: em vez de escrever uma consulta complexa toda vez, voce da um nome a ela e a usa como se fosse uma tabela. Tambem ajuda na seguranca, mostrando apenas as colunas necessarias.
Um stored procedure e uma colecao de comandos SQL salvos com um nome. Como uma receita guardada: voce escreve as instrucoes uma vez e as reutiliza para operacoes comuns de negocio.
Um index e como o indice no final de um livro: em vez de ler cada pagina para encontrar uma palavra, voce vai direto a pagina certa. Acelera muito as consultas SELECT, mas desacelera ligeiramente as escritas.
Produtos Azure SQL — qual usar?
Azure SQL Database e a opcao totalmente gerenciada. O Azure cuida de patches, backups e alta disponibilidade. Ideal para novos aplicativos na nuvem ou quando voce quer a menor carga administrativa possivel.
Azure SQL Managed Instance e para migrar bancos de dados SQL Server locais para a nuvem com minimas alteracoes de codigo. Suporta o conjunto completo de recursos do SQL Server, incluindo SQL Server Agent.
SQL Server na VM do Azure oferece controle total. Voce instala e gerencia o SQL Server em uma maquina virtual. Escolha quando precisar de uma versao especifica ou configuracoes especiais, ou para trazer sua propria licenca (BYOL).
Azure Database for MySQL e PostgreSQL sao servicos de banco de dados de codigo aberto totalmente gerenciados, ideais para aplicacoes baseadas em MySQL ou PostgreSQL.
| Servico | Nivel de gerenciamento | Melhor para | |---------|----------------------|------------| | Azure SQL Database | Totalmente gerenciado (PaaS) | Novos apps na nuvem | | SQL Managed Instance | Quase totalmente gerenciado (PaaS) | Migracao de SQL Server local | | SQL Server na VM | Autogerenciado (IaaS) | Controle total, BYOL | | Azure DB for MySQL | Totalmente gerenciado (PaaS) | Apps baseados em MySQL | | Azure DB for PostgreSQL | Totalmente gerenciado (PaaS) | Apps baseados em PostgreSQL |
Pontos-chave para o exame
"linhas e colunas, esquema fixo" -- banco de dados relacional "identifica unicamente cada linha" -- chave primaria "referencia a chave primaria de outra tabela" -- chave estrangeira "reduzir duplicatas, evitar inconsistencias" -- normalizacao "ler dados" -- SELECT / "adicionar linha" -- INSERT / "modificar linha" -- UPDATE / "remover linha" -- DELETE "combinar duas tabelas com chave compartilhada" -- JOIN "consulta salva como tabela virtual" -- view "colecao de SQL salva com nome" -- stored procedure "acelera SELECT, desacelera escritas" -- index "totalmente gerenciado, novos apps" -- Azure SQL Database "migracao SQL Server com recursos completos" -- SQL Managed Instance "controle total, BYOL" -- SQL Server na VM