Conteúdos da cadeira

Álgebra relacional

Seleção, projeção, junções e conjuntos para formalizar perguntas.

Markdown

Perguntar sobre esta página

ChatGPTClaudePerplexityGeminiCopiar e abrir

Envia o link e pede à IA para ler a página. No Gemini, cola a pergunta copiada.

Ver pergunta para copiar
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 σcond(R)\sigma_{cond}(R): filtra linhas. σpreco>30(Produto)\sigma_{preco > 30}(Produto) devolve Teclado e Monitor.
  • Projeção πcols(R)\pi_{cols}(R): escolhe colunas. πnome,preco(Produto)\pi_{nome, preco}(Produto) devolve os três nomes com preços.
  • Produto cartesiano R×SR \times S: combina cada linha de uma com cada linha da outra.
  • Junção natural RSR \bowtie S: combina pelas colunas de nomes iguais, fundindo-as. É o produto cartesiano seguido da igualdade nas colunas comuns, sem as colunas duplicadas.
  • União RSR \cup S, interseção RSR \cap S e diferença RSR - S: operações de conjuntos, que exigem tabelas compatíveis (mesmas colunas).

A ordem clássica é filtrar antes de juntar: σ\sigma reduz as linhas, \bowtie combina, π\pi 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:

πnome(σdata=20260105(Encomenda)Cliente)\pi_{nome}(\sigma_{data = '2026-01-05'}(Encomenda) \bowtie Cliente)

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.

Ver o ficheiro no GitHub

À tua maneira

Escolhe como preferes ler.

Aparência
Ajustar cores e largura
Cor de destaque do tema FEUP
Tipo de letra

Álgebra, lógica e uma ideia de cada vez.

As tuas escolhas ficam guardadas neste navegador.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.