(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

DP-900: como usar esquemas em bases de dados relacionais no Azure

João Barros 29 de October de 2026 4 min de leitura

Vou ensinar a competência de compreender e usar esquemas em bases de dados relacionais no Azure — ou seja, como modelar tabelas, colunas e tipos, e como o esquema influencia a integridade, o desempenho e as consultas. Esta competência é frequente no DP-900 porque demonstra que percebes os fundamentos relacionais e a sua aplicação no Azure.

O que precisas de saber

Um esquema em bases de dados relacionais descreve a estrutura: tabelas, colunas, tipos de dados, constraints (por exemplo PRIMARY KEY, FOREIGN KEY, UNIQUE), e índices. No Azure, serviços como Azure SQL Database e Azure Database for PostgreSQL usam esquemas relacionais tradicionais. Saber interpretar o esquema permite responder a perguntas sobre integridade referencial, capacidade de consulta e adequação dos tipos para cenários reais.

Exemplo simples: uma base de dados para vendas pode ter duas tabelas — Customers e Orders. O esquema define que Orders.CustomerID é uma FOREIGN KEY que referencia Customers.CustomerID, garantindo que não existam encomendas sem cliente válido.

CREATE TABLE Customers (
  CustomerID INT PRIMARY KEY,
  Name NVARCHAR(100) NOT NULL,
  Email NVARCHAR(320) UNIQUE
);

CREATE TABLE Orders (
  OrderID INT PRIMARY KEY,
  OrderDate DATETIME2 NOT NULL,
  CustomerID INT NOT NULL,
  Amount DECIMAL(10,2) NOT NULL,
  FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);

Como funciona

O esquema serve várias funções práticas:

  • Integração e validação: tipos de dados e NOT NULL impedem valores inválidos; FOREIGN KEY mantém integridade entre tabelas.
  • Performance: escolher tipos correctos (por exemplo INT em vez de NVARCHAR quando apropriado) reduz espaço e acelera operações; índices (associados a colunas do esquema) aceleram consultas.
  • Clareza semântica: o esquema documenta a intenção dos dados — por ex., um campo Email com UNIQUE evita duplicados.

No Azure, além da criação do esquema, tens opções como collation para ordenar e comparar strings, e tipos específicos suportados (por exemplo DATETIME2 em Azure SQL Database). Também é importante perceber como alterações de esquema afectam a disponibilidade e o desempenho em ambientes geridos: operações DDL podem bloquear objectos, por isso devem ser planeadas.

Na prática

Aqui tens um pequeno fluxo prático para criar e validar um esquema em Azure SQL Database (os passos conceituais aplicam-se a outras engines relacionais):

  1. Modelar no papel: desenha entidades e relações. Decide tipos de dados e quais colunas são chaves.

  2. Escolher tipos e constraints: usa tipos adequados (INT, DECIMAL, NVARCHAR) e constraints (PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK, NOT NULL) para garantir integridade.

  3. Escrever DDL: cria as tabelas com CREATE TABLE. Testa inserção de dados válidos e inválidos para confirmar constraints.

  4. Indexação: adiciona índices após analisar consultas frequentes. Normalmente a PRIMARY KEY cria um índice clustered; para colunas usadas em filtros/join adiciona índices não clustered.

  5. Alterações: para alterar o esquema em produção, usa técnicas como adicionar colunas nullable primeiro, update em batch, e criar índices offline para minimizar impacto.

-- Criar um índice não clustered em OrderDate para acelerar consultas por data
CREATE INDEX IX_Orders_OrderDate ON Orders(OrderDate);

-- Exemplo de CHECK para validar valores
ALTER TABLE Orders ADD CONSTRAINT CHK_Amount_Positive CHECK (Amount >= 0);

Erros comuns

  • Escolher tipos demasiado genéricos: usar NVARCHAR(MAX) para tudo causa desperdício de espaço e degrada performance. Prefere o tamanho mais pequeno que cubra os requisitos.
  • Falta de constraints: omitir PRIMARY/FOREIGN KEY e UNIQUE pode facilitar ingestão rápida, mas complica garantia de integridade e debugging posterior.
  • Adicionar índices a quente sem análise: criar muitos índices em tabelas de escrita intensiva muda o custo de INSERT/UPDATE; analisa queries e padrões de carga antes de indexar.

Como praticar

Pratica estes conceitos criando uma base de dados no Azure SQL Database (ou usando uma instância local SQL Server) e implementando o fluxo acima. Testa constraints e desempenho com conjuntos de dados crescentes; experimenta alterações de esquema controladas.

Para preparar o DP-900, utiliza o Practice Assessment OFICIAL e gratuito da Microsoft (é a forma correcta de praticar o formato do exame). Consulta também a Microsoft Learn Study Guide gratuita para DP-900 — ambas são recursos oficiais e gratuitos que te ajudam a verificar competências e a rever conceitos.

Em resumo

  • O esquema define estrutura, tipos e constraints — é fundamental para integridade e entendimento dos dados.
  • Escolher tipos correctos e usar constraints reduz erros e melhora performance.
  • Indexação é complementar ao esquema: optimiza consultas, mas tem custo em escrita.
  • Pratica no Azure com DDL, testes de inserção e simulação de carga; usa os recursos oficiais da Microsoft para preparar o exame.