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
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.
π 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