Post

Álgebra Relacional e SQL

O que é álgebra relacional? A álgebra relacional é uma forma teórica de manipular dados em um banco de dados relacional. Não houve muita atenção a esse assunto até a publicação do modelo relacional por Edgar F. Codd, na publicação do modelo relacional, Edgar propõe que a álgebra seja usada como base para linguagens de consulta de banco de dados.

A álgebra relacional permite realizar operações de consulta e manipulação de dados, tais como:

  • seleção
  • projeção
  • união
  • diferença
  • produto cartesiano
  • junções.

Essas operações são baseadas em conjuntos matemáticos e são aplicadas a relações que representam as tabelas e dados em um banco de dados relacional.

Podemos dizer que SQL é uma linguagem de consulta de banco de dados derivada da álgebra relacional.

O que compõe a álgebra relacional? A álgebra relacional é composta por Teoria dos Conjuntos e algumas operações específicas. Podemos falar sobre:

1. Relacionamentos: Os relacionamentos são representados por tabelas que armazenam dados em um banco de dados relacional. Cada relação é composta por tuplas (linhas) e atributos (colunas). (Neste campo matemático, chamaremos as linhas de tuplas e as colunas de atributos)

2. Operadores Básicos:

  • Seleção (σ): filtra as tuplas de uma relação com base em uma condição específica.
  • Projeção (π): seleciona determinadas colunas de uma relação, descartando as outras.

3. Teoria dos Conjuntos:

  • União (∪): combina duas relações, retornando todas as tuplas distintas.
  • Interseção (∩): retorna as tuplas comuns a duas relações.
  • Diferença (-): Retorna as tuplas que estão em uma relação, mas não na outra.

Para representar a teoria dos conjuntos visualmente, usamos o Diagrama de Venn.

4. Operadores de Combinação:

  • Produto Cartesiano (×): Também conhecido como “junção cruzada”, o produto cartesiano combina todas as tuplas de duas relações. O resultado é uma nova relação que contém todas as combinações possíveis de tuplas das duas relações de entrada. Por exemplo, se a primeira relação tiver m tuplas e a segunda relação tiver n tuplas, o produto cartesiano terá m x n tuplas.

  • Join (⨝): A junção combina tuplas de duas ou mais relações com base em uma condição de junção. A condição de junção é especificada para comparar os valores de atributo nas relações envolvidas. Existem diferentes tipos de junção:

    • Inner Join: Retorna as tuplas que têm valores correspondentes nas relações de junção.
    • Outer Join: Retorna as tuplas correspondentes além das tuplas não correspondentes em uma ou ambas as relações de junção.
    • Left Join: Retorna todas as tuplas da primeira relação de junção e as tuplas correspondentes da segunda relação de junção.
    • Right Join: Retorna todas as tuplas da segunda relação de junção e as tuplas correspondentes da primeira relação de junção.
    • Full Join Retorna todas as tuplas de ambas as relações de junção, combinando as correspondentes e preenchendo com valores nulos quando não houver correspondência.

Vamos cobrir mais sobre junções em um próximo capítulo!


Obrigado por ler até aqui!

Fazendo o que precisa ser feito.

Esta postagem está licenciada sob CC BY 4.0 pelo autor.