Você está na página 1de 3

Universidade do Sul de Santa Catarina - UNISUL

Centro de Ciências Exatas, Agrárias e das Engenharias


Curso: Ciências da Computação
Disciplina: Banco de Dados
Professor: Osmar de Oliveira Braz Júnior

Álgebra Relacional
1 Definição
Linguagem de Consulta Procedural
Entrada de uma ou mais relações
Saída de uma Relação

1.1 Operações Fundamentais


As operações select, project e rename são chamadas de operações primárias, pois operam uma única relação.
As outras três relações União, Produto cartesiano, Diferença são binárias operam um par de relações.

1.1.1 Operação Select (σ sigma)


Tuplas que satisfaçam o predicado

Comparação: = ≠ < ⊆ > ⊇


Operadores Lógicos e ∧, ou ∨

1.1.2 Operação Project (π pi)


Atributos necessários
Elimina as repetições já que a relação é um conjunto.

1.1.3 Operação Relacional de Comparação


Operações Aritméticas = , +, −, ∗ e ÷

1.1.4 Operação União (∪ Union)


União das tuplas de duas relação.
As relações de entrada devem possuir o mesmo número de atributos e devem pertencer a um mesmo domínio.
Valores duplicados são eliminados;

1.1.5 Operação Diferença entre Conjuntos ( -)


Permite encontrar as tuplas que estão em uma relação mas não em outra.
R – S resulta na relação que contém as tuplas que estão em r, mas não em s.
As relações de entrada devem possuir o mesmo número de atributos e devem pertencer a um mesmo domínio.

1.1.6 Operação Produto Cartesiano (x )


Combinar informações de duas relações
Adicionar o nome da relação ao atributo para diferenciar os nomes iguais.

1.1.7 Operação Rename (ρ rho)


O resultado de uma expressão em Álgebra Relacional não possui nome
O operador rename permite nomear o resultado de uma expressão.

1.2 Definição Formal da Álgebra Relacional


E1 ∪ E2
E1 – E2
1
E1 x E2
σ P (E1), em que P é um predicado dos atributos de E1
π S (E1), em que S é uma lista consistindo de alguns atributos em E1.
ρ X (E1), em que X é um novo nome para o resultado de E1.

1.3 Operações Adicionais


Maior poder à Álgebra Relacional
Simplificar expressões comuns que são extensas.

1.3.1 Interseção de Conjuntos (∩)


Permite encontrar as tuplas que estão em ambas relações.
R ∩ S = R – (R – S)

1.3.2 Junção Natural (join )


Simplificar consultas que exijam um produto cartesiano
R S = π R ∪ S ( σ R.A1 = S.A1 ∧R.A2 = S.A2 ∧... ∧R.An = S.An R x S)

1.3.3 Operação Divisão (÷ )


Usada nas consultas nas quais se emprega a frase para todos
A relação R ÷ S é uma relação no esquema R – S – isto é um esquema contendo todos os atributos do esquema R que não estão no
esquema S

1.3.4 Operação de Designação ( ← )


Escrever expressões com uma designação para a uma relação, de modo a usá-la como uma variável temporária.
O operador ← trabalha de maneira similar a atribuição de linguagens de programação.

2 Operações de Álgebra Relacional Estendida


Uma extensão simples é permitir operações aritméticas como parte da projeção.
Operações Agregadas.

2.1 Projeção Generalizada


Estendem as operações de projeção de modo a permitir funções aritméticas.

2.2 Junção Externa (Outer Join )


É uma extensão da operação de junção para tratar informações omitidas

2.3 Funções Agradadas


São aquelas que, quando aplicadas, tomam uma coleção de valores e retornam um valor simples como resultado.
Média avg, Soma sum, Mínimo min, Máximo max, Contagem count
A adição da palavra distinct ao final do nome da função (count-distinct) elimina as duplicidades.

2.4 Operador de Agregação G


A forma geral da operação de agregação é a seguinte

G1, G2, ... Gn


G F1 A1, F2 A2, ...FnAn(E)

em que E é uma expressão qualquer em álgebra relacional G1, G2, ... Gn constitui a lista de atributos que serão agrupados, cada F1
é uma função agregada e cada À1 é o nome de uma atributo.

2
3 Modificações no Banco de Dados

3.1 Exclusão
A solicitação de uma exclusão é muitas vezes expressa do mesmo modo que uma consulta.
Em vez de mostrar as tuplas ao usuário, remove-se.

R ←R – E

3.2 Inserção
Para inserir dados em uma relação, podemos especificar uma tupla para inserção ou escrever uma consulta que resulte em um
conjunto de tuplas a inserir.
R ←R ∪ E

Conta ← Conta ∪ {(“Perryridge”,A-973,1200)}

3.3 Atualização
Alterar valores de uma tuplas sem mudar todos os seus valores.
R ← π F1, F2, ...Fn (r)

conta ← π nome_agência, número_conta, saldo ← saldo * 1,05 (conta)

4 Visões
Em todos os exemplos apresentados até agora, usamos operadores no nível lógico. Isto é assumimos que a coleção de relações
dadas sejam na verdade, relações armazenadas no banco de dados.

4.1 Definição de Visões


A forma do comando:
create view v as <expressões de consulta>
v é o nome da visão
<expressões de consulta> - é uma expressão válida em álgebra relacional.

Você também pode gostar