Com o vocabulário estrutural do modelo relacional já concluído (relação, tupla, atributo, domínio, chaves), começa agora a parte operacional: a álgebra relacional, o conjunto de operadores formais que atuam sobre relações e produzem novas relações como resultado. Essa propriedade — todo operador recebe relação(ões) e devolve relação — é chamada de fechamento, e é o que permite compor operadores livremente, encadeando o resultado de um como entrada do próximo.
Neste resumo, você vai conhecer os dois primeiros operadores, ambos unários (atuam sobre uma única relação): seleção (σ), que filtra linhas, e projeção (π), que filtra colunas. Os nomes são a primeira pegadinha do tema — e você vai entender por quê.
📲 Canal Oficial do Dicionário do Concurseiro no WhatsApp
Receba resumos, questões comentadas e novidades diretamente no seu celular!
💡 Conteúdo exclusivo para concurseiros. Totalmente gratuito!
🔎 Seleção (σ)
A seleção filtra as tuplas (linhas) de uma relação que satisfazem uma condição, mantendo intactos todos os atributos. Notação: σ<condição>(R). Por exemplo, σ salario > 5000 (Funcionario) retorna apenas as tuplas de Funcionário cujo salário é maior que 5000, com as mesmas colunas de origem. Em SQL, a seleção corresponde à cláusula WHERE.
Efeito sobre grau e cardinalidade (da relação resultado em comparação com a relação de entrada R — R em si não é alterada, só a nova relação produzida): a seleção nunca muda o grau (o esquema — conjunto de atributos — permanece o mesmo) e nunca aumenta a cardinalidade (o resultado tem, no máximo, o mesmo número de tuplas da relação original, podendo ter menos ou, no limite, zero).
📐 Projeção (π)
A projeção filtra os atributos (colunas) de uma relação, mantendo todas as tuplas (sujeito à ressalva de duplicatas abaixo). Notação: π<lista de atributos>(R). Por exemplo, π nome, cargo (Funcionario) retorna só essas duas colunas, para todas as tuplas. Em SQL, a projeção corresponde à lista de colunas depois do SELECT.
Efeito sobre grau e cardinalidade: a projeção normalmente reduz o grau (a menos que a lista inclua todos os atributos originais). Sobre cardinalidade, entra a regra mais importante do operador: como uma relação é, por definição, um conjunto de tuplas, a projeção elimina duplicatas que porventura surjam ao remover colunas — se duas tuplas diferentes se tornam idênticas depois de projetadas (porque a diferença estava justamente numa coluna removida), elas colapsam em uma só linha no resultado. Por isso a projeção pode reduzir a cardinalidade, mas nunca aumentá-la.
🔗 Composição e fechamento
Como todo operador da álgebra relacional devolve uma relação, seleção e projeção podem ser combinadas livremente, aninhando o resultado de uma como entrada da outra: π nome, cargo (σ salario > 5000 (Funcionario)) primeiro filtra as linhas com salário alto e depois projeta só nome e cargo dessas linhas filtradas. A ordem entre operações do mesmo tipo (várias seleções, por exemplo) pode ser trocada sem alterar o resultado final — essa flexibilidade é a base da otimização algébrica de consultas, tema de um resumo mais à frente na trilha.
⚠️ Pegadinhas comuns
- Os nomes são contraintuitivos em relação ao SQL: “seleção” (σ) filtra linhas, mas o
SELECTdo SQL define colunas — o operador que corresponde aoSELECTdo SQL é a projeção (π), não a seleção da álgebra relacional. É a confusão de nomenclatura mais cobrada do tema; - Projeção pura elimina duplicatas;
SELECTdo SQL, não: a álgebra relacional é fiel à teoria de conjuntos (sem duplicatas), mas o SQL, por razões de desempenho, só remove duplicatas quando você pede explicitamente comDISTINCT— sem ele, o resultado do SQL pode ter linhas repetidas que a projeção teórica jamais teria; - Seleção não reduz colunas, projeção não reduz linhas por condição: são operações ortogonais — seleção nunca decide quais atributos manter ou descartar (ela só filtra linhas, preservando todas as colunas), projeção nunca avalia uma condição sobre valores para decidir quais tuplas manter (ela só filtra colunas, preservando todas as linhas que sobrarem);
- Seleção nunca aumenta cardinalidade; projeção nunca aumenta cardinalidade nem grau: ambos os operadores são “redutores” por natureza, nunca geram mais tuplas ou mais atributos do que a relação de entrada.
🎯 Dica Final para a Prova
Fixe a associação pelo eixo que cada operador corta: seleção (σ) corta na horizontal (linhas/tuplas que satisfazem uma condição); projeção (π) corta na vertical (colunas/atributos escolhidos). E lembre sempre que, na tradução para SQL, os papéis dos nomes se invertem: σ vira WHERE, π vira a lista de colunas do SELECT — nunca assuma que “seleção” e “SELECT” significam a mesma coisa.
✓ Agora que você domina os dois operadores unários, o próximo passo é conhecer os operadores binários — que combinam duas relações ao mesmo tempo: união, interseção e diferença.
📍Gostou do conteúdo? Deixe um comentário, compartilhe e continue acompanhando o Dicionário do Concurseiro para mais Resumos de TI – Banco de Dados. Aqui você encontra explicações claras, atualizadas e com foco total no que cai em prova!
👉 Leia também no Dicionário do Concurseiro: Resumo TI Banco de Dados: Operadores da Álgebra Relacional – União, Interseção e Diferença
📘 Seleção corta linhas, projeção corta colunas — e nenhuma delas se chama como o SELECT do SQL sugere. Guardar essa inversão de nomes evita o erro mais comum do tema. Continue estudando!
Comentários
Seja o primeiro a comentar.
Você precisa fazer o login para publicar um comentário.