Buscar

Algebra Relacional

Prévia do material em texto

IMPLEMENTAÇÃO DE BANCO DE DADOS
Aula 2- Álgebra Relacional
Conteúdo Programático desta aula
Conceituar Álgebra Relacional
Conhecer as Operações da Álgebra Relacional
Utilizar Operadores de Conjunto
Escrever expressões utilizando operadores de tabelas
Analisar expressões de Álgebra relacional
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Conceitos Envolvidos
a) Relação: representada por uma tabela de duas dimensões (linhas e colunas);
b) Tupla: corresponde a uma linha da relação;
c) Atributo: corresponde às colunas da relação;
d) Chave primária: conjunto de atributos que identificam univocamente cada tupla da
relação;
e) Chave extrangeira: atributo de uma relação que é chave primária de outra relação.
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Conceitos Envolvidos
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Manipulação de Dados
Duas categorias de linguagens
	– formais
		• álgebra relacional e cálculo relacional
	– comerciais (baseadas nas linguagens formais)
		• SQL
Linguagens formais - Características
	– orientadas a conjuntos
	– fechamento
		• resultados de consultas são relações
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Álgebra Relacional
Conjunto de operações sobre modelos relacionais de dados. 
As principais operações da álgebra relacional são:
Seleção
Projeção
Produto Cartesiano
Junção
Operações de Conjunto : (União, Intersecção, Diferença)
Divisão 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Seleção
A operação Seleção é utilizada para selecionar um subconjunto de tuplas de uma relação, sendo que estas tuplas devem satisfazer uma condição de seleção. 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Seleção
A forma geral de uma operação Seleção é:
 <condição de seleção> ( <nome da relação> )
Onde: 
A letra grega  é utilizada para representar a operação de seleção; 
<condição de seleção> é uma expressão booleana aplicada sobre os atributos da relação ; 
<nome da relação> é o nome da relação sobre a qual será aplicada a operação Seleção.
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Seleção
Dada a relação dos empregados da empresa selecionar aqueles que trabalham no departamento 10:
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Seleção
A expressão que atende ao pedido é:
	 id_Depto = 10 (Empregado)
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Seleção
Dada a relação dos empregados da empresa selecionar aqueles que trabalham no departamento 10 e que ganhem salario > 1500.
:
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Seleção
A expressão que atende ao pedido é:
	 id_Depto = 10 E Salario > 1500 (Empregado)
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Projeção
A operação Projeção seleciona um conjunto determinado de colunas de uma relação. 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Projeção
A forma geral de uma operação Projeção é:
 <lista de atributos> (<nome da relação>)
 Onde:
A letra grega  é utilizada para representar a operação de seleção
<lista de atributos> representa a lista de atributos que o usuário deseja selecionar e 
<nome da relação> representa a relação sobre a qual a operação projeção será aplicada.
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Projeção
Dada a relação de empregados da empresa, projetar as colunas ID, NOME E SALARIO:
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Projeção
A expressão que atende ao pedido é:
 Id, Nome, Salario (Empregado)
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sequencialidade de Operações 
A Projeção e a Seleção podem ser combinadas, de forma que apenas algumas linhas e algumas colunas retornem na operação. 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sequencialidade de Operações 
A forma geral da operação Projeção :
<lista de atributos> (<condição de seleção> (<nome da relação>))
 Onde
  representa a operação de projeção
 <lista de atributos> representa a lista de atributos que o usuário deseja selecionar
  representa a operação de seleção
 <condição de seleção> é a condição que a linha deve atender para ser selecionada e 
  <nome da relação> é o nome da relação sobre a qual será aplicada a operação de Seleção e Projeção
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sequencialidade de Operações 
Dada a relação de empregados da empresa, projetar as colunas ID, NOME E SALARIO PARA OS EMPREGADOS DO DEPARTAMENTO 10:
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sequencialidade de Operações 
A expressão que atende ao pedido é:
 Id,Nome, Salario ( Id_Depto = 10 (Empregado))
Realizada em Dois Passos
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sequencialidade de Operações 
A expressão que atende ao pedido é:
 Id,Nome, Salario ( Id_Depto = 10 (Empregado))
Passos 1 - Seleção
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sequencialidade de Operações 
A expressão que atende ao pedido é:
 Id,Nome, Salario ( Id_Depto = 10 (Empregado))
Passos 2 - Projeção
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sequencialidade de Operações 
Sempre na ordem Seleção -> Projeção?
 Id_Depto = 10 ( Id,Nome, Salario (Empregado))
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Sequencialidade de Operações 
 Id_Depto = 10 ( Id,Nome, Salario (Empregado))
Projeção não tem todas as colunas utilizadas na seleção
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Produto Cartesiano
O produto cartesiano é uma operação binária que combina todas as tuplas de duas tabelas. 
 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Produto Cartesiano
A forma geral do Produto Cartesiano é:
A X B
 Onde:
X representa a operação de produto cartesiano
A e B representam as relações sobre as quais a operação será aplicada.
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Produto Cartesiano - Exemplo
Departamento X Região
A operação ira justapor as colunas e combinar todas as linhas.
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Produto 
Cartesiano
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Junção
Atua de forma similar á operação produto cartesiano, porém, a tabela resultante conterá apenas as combinações das tuplas que se relacionam de acordo com uma determinada condição de junção. 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Junção
A forma geral de uma operação Seleção é:
R ⋈ <condição de junção> S
Onde: 
⋈ representa a operação de junção; 
<condição de junção> é uma expressão relacional, normalmente utilizando o operador =, que determina qual coluna da tabela R deve ser comparada com qual coluna da tabela S ( normalmente PK e FK); 
R e S representam as relações sobre as quais a operação será aplicada.
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Junção - Exemplo
Departamento ⋈ Id_Regiao = Id Região
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Junção - Exemplo
Departamento ⋈ Id_Regiao = Id Região
A operação ira justapor as colunas e combinar as linhas que se relacionam.
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Junção 
Exemplo
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Operações de Conjunto
Operações
União
Interseção
Diferença
Redundância de Tuplas
Compatibilidade quanto a união
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Redundancia de Tupla
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Compatibilidade quanto a União
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
União
O resultado desta operação entre duas relações consiste no conjunto de todas as linhas das duas relações . 
 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
União
A forma geral da União é:
A U B
 Onde:
U representa a operação de União
A e B representam as relaçõessobre as quais a operação será aplicada.
A operação de União é Comutativa -> A U B = B U A
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
União - Exemplo
Empregado U Acionista
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
União - Exemplo
Empregado U Acionista
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Interseção
O resultado desta operação entre duas relações consiste no conjunto de todas as linhas que existem em comum nas duas relações . 
 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Interseção 
A forma geral da Interseção é:
A ∩ B
 Onde:
∩ representa a operação de Interseção
A e B representam as relações sobre as quais a operação será aplicada.
A operação de Interseção é Comutativa -> A ∩ B = B ∩ A
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Interseção - Exemplo
Empregado ∩ Acionista
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Interseção - Exemplo
Empregado ∩ Acionista
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Diferença
O resultado desta operação entre duas relações consiste no conjunto de todas as linhas que existem em uma tabela e não existe na outra 
. 
 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Diferença 
A forma geral da Diferença é:
A - B
 Onde:
- representa a operação de Interseção
A e B representam as relações sobre as quais a operação será aplicada.
A Diferença não é Comutativa -> A - B <> B - A
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Diferença - Exemplo
Empregado – Acionista ou Acionista – Empregado
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Diferença - Exemplo
–
Empregado – Acionista ou Acionista – Empregado
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Operações de Conjunto em consultas - 1
–
T1 =  Id,Nome ( Id_Depto = 10 (Empregado))
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Operações de Conjunto em consultas - 1
–
T1 =  Id,Nome ( Id_Depto = 10 (Empregado))
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Operações de Conjunto em consultas - 2
–
T2 =  Id,Nome ( Salario >= 1500 (Empregado))
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Operações de Conjunto em consultas - 2
–
T2 =  Id,Nome ( Salario >= 1500 (Empregado))
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Operações de Conjunto em consultas - 3
–
T1 U T2 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Divisão
É uma operação adicional que produz como resultado a projeção de todos os elementos da primeira relação que se relacionam com todos os elementos da segunda relação. 
É utilizada para consultas do tipo todos os eleitores que participaram de todas as votações, os sócios que pagaram todas as mensalidades e outras do mesmo tipo. 
 
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Divisão 
A forma geral da Diferença é:
A / B
 Onde:
/ representa a operação de Interseção
A e B representam as relações sobre as quais a operação será aplicada.
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Divisão - Exemplo
ID dos Funcionários que Trabalham em todos os Projetos
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Divisão - Exemplo
ID dos Funcionários que Trabalham em todos os Projetos
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Divisão – Exemplo – Passo 1
–
T1 =  Id_Proj (Projeto)
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Divisão – Exemplo – Passo 2
–
Funcionario_Projeto / T1
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS
Próxima Aula
Apresentar a Linguagem SQL
Instalar e Configurar um SGBD.
Criar Tabelas.
Manipular Dados
 ÁLGEBRA RELACIONAL
IMPLEMENTAÇÃO DE BANCO DE DADOS

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes