Álgebra relacional
Seleção, projeção, junções e conjuntos para formalizar perguntas.
Nesta página
Antes do SELECT houve a matemática. A álgebra relacional é a linguagem formal de perguntas sobre tabelas: cada operador recebe relações e devolve uma relação, por isso os operadores encadeiam-se como funções. Percebê-la é perceber o que cada cláusula do SQL faz, e a cadeira pede-a explicitamente.
Os operadores essenciais
Sobre uma tabela Produto(id, nome, preco, stock):
- Seleção : filtra linhas. devolve Teclado e Monitor.
- Projeção : escolhe colunas. devolve os três nomes com preços.
- Produto cartesiano : combina cada linha de uma com cada linha da outra.
- Junção natural : combina pelas colunas de nomes iguais, fundindo-as. É o produto cartesiano seguido da igualdade nas colunas comuns, sem as colunas duplicadas.
- União , interseção e diferença : operações de conjuntos, que exigem tabelas compatíveis (mesmas colunas).
A ordem clássica é filtrar antes de juntar: reduz as linhas, combina, corta as colunas no fim.
Uma pergunta completa
“Nome dos clientes com encomendas em 2026-01-05.” Primeiro filtra as encomendas, junta com os clientes e projeta o nome:
Passo a passo com os dados da loja: a seleção deixa só a encomenda 100 (data 2026-01-05, cliente 1). A junção com Cliente pela coluna comum idCliente = id acrescenta a linha da Ana. A projeção final devolve uma tabela de uma coluna e uma linha: Ana. Cada operador intermédio é uma tabela válida, e é por isso que podes ler a expressão de dentro para fora a verificar cada etapa.