Você está na página 1de 28

BANCO DE DADOS I

PROFESSOR EVERTON JEAN MORO


ÁLGEBRA RELACIONAL

A Álgebra Relacional (AR) é 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 seqüência de operações na base de
dados para calcular o resultado desejado.

9/6/2022 2
ÁLGEBRA RELACIONAL

Formalmente, na terminologia formal de modelo relacional temos:


➢ As linhas que são chamadas de tuplas;

➢ Os cabeçalhos das colunas são chamado de atributos;

➢ Uma tabela é chamada de relação (ou entidade);

➢ O tipo de dados que descreve os tipos de valores que podem aparecer em

cada coluna é chamado de domínio;

9/6/2022 3
ÁLGEBRA RELACIONAL

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.

9/6/2022 4
ÁLGEBRA RELACIONAL

Operações básicas
As operações básicas em Algebra Relacional se dividem em quatro categorias:
• operadores que removem partes de uma relação (seleção e projeção);
• operadores convencionais sobre conjuntos (união, subtração, interseção e produto
cartesiano);
• operadores que combinam linhas de duas relações de acordo com condições booleanas
diversas;
• operador de renomeação;
Em paralelo a esses operadores podemos usar ainda: AND, OR, =. ≠, <, >, ≤ e ≥.

9/6/2022 5
ÁLGEBRA RELACIONAL

• Seleção: Indicada por δ (a letra grega sigma), é uma operação que


para um conjunto inicial fornecido como argumento, produz um
subconjunto estruturalmente idêntico, mas apenas com os elementos
do conjunto original que atendem a uma determinada condição
(também chamada de predicado).
• A seleção pode ser entendida como uma operação que filtra as linhas
de uma tabela, e é também uma operação unária, já que opera sobre
um único conjunto de dados.
9/6/2022 6
ÁLGEBRA RELACIONAL

Ex: δ sexo = ‘M’ (Funcionário)


• Esse exemplo irá produzir o conjunto dos elementos de funcionário
que atendem ao predicado [Sexo = ‘M’], ou seja, representa um
subconjunto dos funcionários para o qual essa condição é avaliada
como verdadeira.

9/6/2022 7
ÁLGEBRA RELACIONAL

9/6/2022 8
ÁLGEBRA RELACIONAL
• Dentro do operador de seleção podemos usar ainda os operadores
relacionais ‘and’, ‘or’ e ‘not’ (^, v e ¬ respectivamente) com a finalidade
de utilizar mais de um argumento para o operador e assim obter um
resultado mais detalhado e filtrado.
• Ex1: δ sexo = ‘M’ ^ DtAdm > ‘01/01/92’ (Funcionário)
• No exemplo acima o resultado traria todos os funcionários do sexo
masculino que possuem data de admissão superior à 01/01/92, ou
seja, no caso do operador ‘and’ todas as condições devem ser
satisfeitas.
9/6/2022 9
ÁLGEBRA RELACIONAL

Ex1: δ sexo = ‘M’ v DtAdm > ‘01/01/92’ (Funcionário)

• No exemplo acima o resultado traria todos os funcionários do sexo


masculino e todos os funcionários que possuem data de admissão
superior à 01/01/92 independente do sexo, no caso do operador ‘or’ as
condições são tratadas de maneira independente.

9/6/2022 10
ÁLGEBRA RELACIONAL

Ex1: δ ¬ sexo = ‘M’ ^ DtAdm > ‘01/01/92’ (Funcionário)

• No exemplo acima o resultado traria todos os funcionários que não


sejam do sexo masculino e possuem data de admissão superior à
01/01/92, no caso do operador ‘not’ todas as condições devem ser
satisfeitas.

9/6/2022 11
ÁLGEBRA RELACIONAL

• Projeção: Geralmente indicada na literatura por π (a letra grega pi) produz um conjunto
onde há um elemento para cada elemento do conjunto de entrada, sendo que a estrutura dos
membros do conjunto resultante é definida nos argumentos da operação.
• Pode ser entendida como uma operação que filtra as colunas de uma tabela. Por operar sobre
apenas um conjunto de entrada, a projeção é classificada como uma operação unária.

9/6/2022 12
ÁLGEBRA RELACIONAL

Ex: π NmFunc (Funcionário)

• Essa expressão produz um conjunto contendo um elemento para cada


funcionário, e cada elemento contém apenas a informação referente a
NmFunc da relação funcionário original.

9/6/2022 13
ÁLGEBRA RELACIONAL

9/6/2022 14
ÁLGEBRA RELACIONAL

• No caso de querermos descobrir o nome completo e a data de admissão de todos os


funcionários do sexo feminino existentes na empresa, será necessário combinar uma projeção
com uma seleção.
• Isso porque se decidirmos projetar as colunas desejadas diretamente a partir da relação
funcionário estaremos considerando também os elementos do sexo masculino, o que não
queremos.
• Como a projeção não permite descartar linhas, apenas colunas, deveremos fornecer a essa
operação o subconjunto resultante de uma filtragem (seleção) da relação de funcionários
original, como mostram as duas figuras a seguir, que representam as relações e as operações
de duas maneiras diferentes.

9/6/2022 15
ÁLGEBRA RELACIONAL

9/6/2022 16
ÁLGEBRA RELACIONAL

Assim, a expressão que atende nossos


objetivos nesse caso é:

π NmFunc, DtAdm (δ Sexo = ‘F’ (funcionário))

9/6/2022 17
ÁLGEBRA RELACIONAL

• União: O operador de união cria uma relação partindo de duas outras,


levando as tuplas comuns e não comuns a ambas, desta forma
aparecerão no resultado somente linhas únicas de uma ou outra
relação e as informações duplicadas aparecerão somente uma vez.

9/6/2022 18
ÁLGEBRA RELACIONAL
Exemplo: encontre todos os clientes da agência que possuem conta corrente ou empréstimo:

R = CONTACORRENTE U EMPRESTIMO

9/6/2022 19
ÁLGEBRA RELACIONAL

• Subtração: O operador de subtração cria uma relação partindo de


duas outras, levando em consideração as tuplas que se encontram em
uma relação e não se encontram em outra

9/6/2022 20
ÁLGEBRA RELACIONAL
• exemplo: encontre todos os clientes da agência que não possuem empréstimo:

R = CONTACORRENTE - EMPRESTIMO

9/6/2022 21
ÁLGEBRA RELACIONAL

• Interseção: Esta é uma operação adicional que produz como


resultado uma tabela que contém, sem repetições, todos os elementos
que são comuns às duas tabelas fornecidas como operandos.

9/6/2022 22
ÁLGEBRA RELACIONAL
• exemplo: encontre todos os alunos que também são instrutores

R = ALUNOS ∩ INSTRUTORES

9/6/2022 23
ÁLGEBRA RELACIONAL

• Produto Cartesiano: É uma relação obtida concatenando-se cada


linha da tabela R com a tabela S.

9/6/2022 24
ÁLGEBRA RELACIONAL

R = CLIENTES X INSTRUTORES

9/6/2022 25
ÁLGEBRA RELACIONAL
• Resumo:

Símbolo Operação Sintaxe


δ Seleção/Restrição δ condição (Relação)
π Projeção π condição (Relação)
União
U
Relação 1 U Relação 2
∩ Interseção Relação 1 ∩ Relação 2
- Diferença de Conjuntos Relação 1 -9/6/2022
Relação26 2
X Produto Cartesiano Relação 1 X Relação 2
“As grandes conquistas da humanidade foram obtidas conversando, e as grandes
falhas pela falta de diálogo.”
- Stephen Hawking

9/6/2022 27
OBRIGADO!

9/6/2022 28

Você também pode gostar