Dando continuidade à série de artigos para que o internauta entre no mundo dos bancos de dados, sugiro que você leia meus dois primeiros artigos (Conceitos Fundamentais de Banco de Dados – Parte I e II) e também os artigos do Reinaldo Viana (Banco de Dados e Modelagem de Dados – Parte I, II e Final), para que haja uma perfeita compreensão dos conceitos e metodologias de um projeto de BD.

Darei continuidade falando sobre Linguagem de Consulta Formal, abordando a Álgebra Relacional.

Linguagens de consulta formal são linguagens em que o usuário solicita informações à base de dados. Geralmente formam uma linguagem de mais alto nível que as linguagens de programação.

A Álgebra Relacional é uma linguagem de consulta formal, porém procedimental, ou seja, o usuário dá as instruções ao sistema para que o mesmo realize uma sequência de operações na base de dados para calcular o resultado desejado.

A Álgebra Relacional define operadores para atuar nas tabelas (semelhante aos operadores +, - etc. da álgebra que estamos acostumados) para chegar ao resultado desejado.

A forma de trabalho desta linguagem de consulta é a de pegar uma ou mais tabelas (conforme necessidade) como entrada de dados e produzirá uma nova tabela como resultado das operações.

Funções da Álgebra Relacional

São definidas nove operações para se trabalhar com álgebra relacional:

  • Union –União;
  • Intersection– Intersecção;
  • Difference– Diferença, Subtração;
  • Product – Produto, Produto Cartesiano.

Estas quatro operações são provenientes da teoria de conjuntos, da matemática.

  • Select– Seleção;
  • Project– Projeção;
  • Join– Junção;
  • Divide – Divisão.

Aplicam-se especificamente ao modelo de dados relacional.

  • Assignment– Designação, Atribuição.

É uma operação padrão das linguagens computacionais. Utilizaremos a seguinte tabela como estudo de caso para exemplificar nossas operações: EMPREGADO

Atribuindo um valor a uma nova tabela

Atribuindo um valor a uma nova tabela

O objetivo do operador de designação/atribuição é atribuir o resultado de uma operação a uma nova relação.

Simbologia: Relação = Tabela, entidade, na terminologia formal de banco de dados.

  • 2 => Tupla = Linha da tabela, registro, na terminologia formal de banco de dados.
  • π NOME, SOBRENOME, SAL (σ DEPTO=3 (EMPREGADO)), que nos produziria o seguinte resultado:

    NOME SOBRENOME SAL
    Cecília Ortiz Rezende 3200
    Felipe Guilhermino 1800
    Elaine Cristina 2500
    Cleiton Fernandes 2200

    Podemos ainda, criar relações intermediárias, dando um nome para cada uma delas e finalmente chegando ao resultado desejado:

    
    R1 <---- σ DEPTO=3 (EMPREGADO)
    

    E logo após:

    RESULT