2026-03-06
Uma tabela SQL como espaço matemático
Em aula de SQL eu costumo propor um exercício mental.

Em aula de SQL eu costumo propor um exercício mental.
Uma tabela pode ser entendida como um espaço matemático.
Cada coluna representa uma dimensão que descreve alguma propriedade da informação.
Cada coluna possui um domínio de valores possíveis.
nome
cor
peso
pH
Quando esses domínios aparecem juntos em uma tabela, formam um espaço definido pelo produto cartesiano desses conjuntos.
Podemos representar isso assim:
\[\text{Nome} \times \text{Cor} \times \text{Peso} \times \mathrm{pH}\]
Cada combinação possível desses valores corresponde a um ponto dentro desse espaço de dados.
Esse ponto é chamado de tupla.Uma tupla é um conjunto ordenado de valores:
- (nome, cor, peso, pH)
Ela descreve um elemento específico dentro daquele conjunto de dados.
Na física inclusive a gente costuma trabalhar com uma deia muito próxima chamada espaço de estados.
Um sistema pode ser descrito por variáveis como posição, velocidade, energia ou momento.
Cada combinação dessas variáveis representa um estado possível do sistema.
Em 1970, Edgar F. Codd formalizou o modelo relacional utilizando teoria dos conjuntos.
Uma relação é definida como um conjunto de n-tuplas.
A Álgebra Relacional trabalha diretamente sobre essas relações.
\(\pi\) (projeção) seleciona dimensões
\(\sigma\) (seleção) filtra tuplas
\(\bowtie\) (junção) conecta relações
Essas operações reorganizam o espaço de dados.
Esse olhar ajuda bastante na modelagem.
Cada tabela define um espaço de estados possível para o sistema e cada consulta percorre ou transforma esse espaço.
Pergunta para quem trabalha com dados:
qual foi o relacionamento mais complexo que você já precisou modelar em banco de dados?
Relacionamentos N:N costumam gerar alguns dos problemas mais interessantes de modelagem.
Comentários
A conversa ainda não começou.