Buscar

IMPLEMENTAÇÃO DE BANCO DE DADOS Aula 02

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

AULA 02
ÁLGEBRA RELACIONAL
Nesta aula, você irá: 
1.Conceituar álgebra relacional.
2.Conhecer as operações da álgebra relacional.
3.Utilizar operadores de conjunto.
4.Escrever expressões utilizando operadores de 
tabelas.
5.Analisar expressões de álgebra relacional.
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.
IMPLEMENTAÇÃO DE BANCO DE DADOS 1
Álgebra relacional
A álgebra relacional é uma coleção de 
operações canônicas que são utilizadas para 
manipular as relações. 
Essas operações são utilizadas para selecionar 
tuplas de relações individuais e para combinar 
tuplas relacionadas de relações diferentes, para 
especificar uma consulta em um determinado 
banco de dados. 
O resultado de cada operação é uma nova 
relação, que também pode ser manipulada pela 
álgebra relacional.
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 
IMPLEMENTAÇÃO DE BANCO DE DADOS 2
OPERAÇÃO DE SELEÇÃO
A operação de SELEÇÃO, representada pela 
letra grega sigma (σ), é aplicada sobre apenas 
uma relação visando selecionar um subconjunto 
de tuplas (com todos os seus atributos). 
 
 A forma geral de uma operação de Seleção é:
Onde: 
- <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
 
A relação resultante da operação tem os 
mesmos atributos da relação especificada em 
<nome da relação>.
EXEMPLO:
Dada a relação dos empregados da empresa 
selecionar aqueles que trabalham no 
IMPLEMENTAÇÃO DE BANCO DE DADOS 3
departamento 10 e que ganhem salario 
> 1500.
A expressão que atende ao pedido é:
IMPLEMENTAÇÃO DE BANCO DE DADOS 4
OPERAÇÃO DE PROJEÇÃO
A operação de PROJEÇÃO, representada pela 
letra grega pi (∏), é aplicada sobre apenas uma 
relação de visando projetar os atributos de uma 
relação de acordo com uma lista de atributos 
oferecida.
Os atributos são exibidos na mesma ordem que 
aparecem na lista. 
 
A operação Projeção seleciona um conjunto 
determinado de colunas de uma relação.
A forma geral da operação de  PROJEÇÃO é:
 
Onde:
-<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.
IMPLEMENTAÇÃO DE BANCO DE DADOS 5
EXEMPLO
Dada a relação de empregados da empresa, 
projetar as colunas ID, NOME E SALARIO:
A expressão que atende ao pedido é:
IMPLEMENTAÇÃO DE BANCO DE DADOS 6
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.
A forma geral de uma operação sequencializada 
é:
 
π<lista de atributos> (σ <condição de seleção> 
(<nome da relação>))
EXEMPLO:
Dada a relação de empregados da empresa, 
projetar as colunas ID, NOME E SALARIO 
P A R A O S E M P R E G A D O S D O 
DEPARTAMENTO 10:
IMPLEMENTAÇÃO DE BANCO DE DADOS 7
A expressão que atende ao pedido é:
π Id,Nome, Salario (σ Id_Depto = 10 (Empregado))
Realizada em Dois Passos
Passo 1 - Seleção
IMPLEMENTAÇÃO DE BANCO DE DADOS 8
Passos 2 - Projeção
Essa ordem de execução: primeiro a Seleção e 
depois a Projeção, funciona em todos os casos.
Observe que se tentarmos realizar primeiro, a 
Projeção, segundo, a seguinte expressão:
 
(σ Id_Depto = 10 (π Id, Nome, Salario 
(Empregado))
Iriamos obter como resultado intermediário a 
seguinte tabela:
IMPLEMENTAÇÃO DE BANCO DE DADOS 9
Onde não teríamos a coluna Id_depto para 
realizarmos a Seleção.
Então, podemos afirmar que nunca podemos 
inverter?
Na verdade, podemos inverter a ordem quando a 
Projeção contempla todas as colunas utilizadas 
na seleção.
Vejamos um exemplo:
Dada a relação dos empregados da empresa 
projetar as colunas Id, Nome , Salário e 
Departamento para os empregados que 
IMPLEMENTAÇÃO DE BANCO DE DADOS 10
trabalham no departamento 10  e que ganhem 
salário >= 1500.
Observando tabela, notamos que, dos 
empregados das cinco colunas da tabela, 
desejamos projetar quatro e apenas os 
empregados de ID 101 t raba lham no 
departamento 10 e possuem salário maior ou 
igual a 1500.
As expressões   algébrica que realizam a 
operação são:
IMPLEMENTAÇÃO DE BANCO DE DADOS 11
(σ Id_Depto = 10 E Salario >= 1500 (π Id, Nome, 
Salario, Id_Depto (Empregado))
Notamos que estamos realizando primeiro a  
Projeção, gerando a seguinte tabela:
Observe que estão disponíveis na tabela 
intermediária as colunas salário e Id_depto que 
nos permite fazer a Seleção das tuplas de ID 
101 e 104 as únicas que atendem a condição de 
Salário >=1500 e Id_depto = 10
Analisando a Expressão:
π Id, Nome, Salário, Id_Depto (σ Id_Depto = 10 
E Salario >= 1500 (Empregado))
 
Notamos que estamos realizando primeiro a 
Seleção gerando a seguinte tabela:
IMPLEMENTAÇÃO DE BANCO DE DADOS 12
A seguir basta Projetarmos as colunas ID, 
NOME, SALÁRIO E ID_DEPTO
Essas duas expressões produzem o mesmo 
resultado, na tabela abaixo e são equivalentes.
OPERAÇÃO PRODUTO CARTESIANO
O produto cartesiano é uma operação binária 
que combina todas as tuplas de duas 
tabelas.
IMPLEMENTAÇÃO DE BANCO DE DADOS 13
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.
Vejamos um exemplo da operação de Produto 
Cartesiano:
Observemos as tabelas Região e Departamento.
A tabela de Departamento possui 3 coluna e 4 
linhas e a tabela Região possui duas colunas e 3 
linhas.
Se desejássemos realizar o produto cartesiano 
entre elas qual seria expressão algébrica e qual 
resultado obteríamos?
IMPLEMENTAÇÃO DE BANCO DE DADOS 14
A operação irajustapor as colunas e 
combinar todas as linhas.
OPERAÇÃO JUNÇÃO
A operação 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. 
 
IMPLEMENTAÇÃO DE BANCO DE DADOS 15
A forma geral da operação junção entre duas 
tabelas A e B é a seguinte:
A ⋈ <condição de junção> B
Onde: <condição de junção> é uma expressão 
relacional, normalmente utilizando o operador =, 
que determina qual coluna da tabela A deve ser 
comparada com qual coluna da tabela B.
Observação: Normalmente, as colunas 
envolvidas na condição de junção são a Chave 
Primária de uma tabela e a Chave Estrangeira 
na outra. 
Vejamos um exemplo da operação de Junção:
IMPLEMENTAÇÃO DE BANCO DE DADOS 16
Observemos as tabelas Região e Departamento.
A tabela de Departamento possui 3 coluna e 4 
linhas e a tabela Região possui duas colunas e 3 
linhas.
Se desejássemos realizar a Junção entre elas 
qual seria expressão algébrica e qual resultado 
obteríamos?
Departamento ⋈ Id_Regiao = Id Região
IMPLEMENTAÇÃO DE BANCO DE DADOS 17
OPERAÇÕES DE CONJUNTO
Levando em consideração que as relações 
podem ser tratadas como conjuntos, 
podemos então aplicar um conjunto de 
operações matemáticas sobre as mesmas. 
Essas operações são: união (∪) , intersecção 
(∩) e diferença (-). 
Esse conjunto de operações não é unário, 
elas se aplicam a duas relações que 
obedecem à "compatibilidade de união".
Operações
✴União
✴ Interseção
✴Diferença
Redundância de Tuplas
Compatibilidade quanto a união
IMPLEMENTAÇÃO DE BANCO DE DADOS 18
1. UNIÃO
O resultado desta operação entre duas relações 
consiste no conjunto de todas as linhas das duas 
relações 
A operação de União gera resultados sem 
redundância de tuplas
A forma geral da operação junção entre duas 
tabelas A e B é a seguinte:
A U B
A Operação de União é comutativa ou seja A U B 
produz o mesmo resultado de B U A
Vejamos um exemplo da operação de União:
IMPLEMENTAÇÃO DE BANCO DE DADOS 19
Observemos a tabela Empregado e a tabela 
Acionista. ( figura1)
Desejamos saber as pessoas que são OU 
Empregadas OU Acionistas da Empresa.
Queremos, então, todos aqueles que aparecem 
ou no conjunto de Empregado ou no Conjunto de 
Acionista ou nos Dois. Realizaríamos, portanto, 
uma União.
Empregado U Acionista
\
IMPLEMENTAÇÃO DE BANCO DE DADOS 20
Analisando a Tabela Resultante do comando 
( figura2) podemos notar que:
✴No resultado aparecem todas as linhas de 
Empregado e todas a linhas de Acionista.
✴A linha redundante ( 102 Pedro Leitão) 
aparece apenas uma;
✴Os nomes das colunas correspondem aos 
nomes das colunas da tabela que aparece a 
esquerda na expressão no caso a tabela 
Empregado.
2. 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 
A operação de Interseção gera resultados sem 
redundância de tuplas
A forma geral da operação Interseção entre duas 
tabelas A e B é a seguinte:
A ∩ B
A Operação de Interseção é comutativa ou seja 
A ∩ B produz o mesmo resultado de B ∩ A
IMPLEMENTAÇÃO DE BANCO DE DADOS 21
Vejamos um exemplo da operação de 
Interseção:
Observemos a tabela Empregado e a tabela 
Acionista (figura 3).
Desejamos saber as pessoas que são 
Empregadas E Acionistas da Empresa.
Queremos, portanto, todos aqueles que 
aparecem conjunto de Empregado E no 
Conjunto de Acionista, ou seja, os que aparecem 
nos Dois conjuntos. Realizaríamos, portanto, 
uma Interseção.
IMPLEMENTAÇÃO DE BANCO DE DADOS 22
A expressão que realiza a Interseção é:
Acionista ∩ Empregado
Analisando a Tabela Resultante do comando 
( Figura 4) podemos notar que:
✴No resultado aparece apenas a linha 102 
Pedro Leitão que é comum a duas tabelas.
✴Como esta linha é redundante aparece apenas 
uma vez
✴Os nomes das colunas correspondem aos 
nomes das colunas da tabela que aparece a 
esquerda na expressão.
✴Repare que em relação ao resultado que 
vimos no exemplo de União, agora o nome das 
colunas correspondem as colunas de Acionista 
pois esta tabela aparece a Esquerda na 
expressão.
IMPLEMENTAÇÃO DE BANCO DE DADOS 23
3. 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
A operação de Diferença gera resultados sem 
redundância de tuplas
A forma geral da operação Diferença entre duas 
tabelas A e B é a seguinte:
A - B
A Operação de Diferença não é comutativa ou 
seja A - B produz um resultado diferente de B - A
IMPLEMENTAÇÃO DE BANCO DE DADOS 24
Vejamos um exemplo da operação de Diferença:
Observemos a tabela Empregado e a tabela 
Acionista (Figura 5).
Desejamos saber as pessoas que são 
Empregadas E NÃO são Acionistas da Empresa.
Queremos, portanto, todos aqueles que 
aparecem conjunto de Empregado E NÃO 
a p a r e c e m n o C o n j u n t o d e A c i o n i s t a . 
Realizaríamos, portanto, uma Diferença.
IMPLEMENTAÇÃO DE BANCO DE DADOS 25
ou
4. TABELA TEMPORÁRIA
Em consultas complexas pode ser interessante 
criar tabelas temporárias a partir de uma 
operação algébrica visando seu uso posterior 
vejamos um exemplo: 
IMPLEMENTAÇÃO DE BANCO DE DADOS 26
Considere a tabela departamento (Figura 8 a) 
desejamos criar uma tabela temporária 
denominada T1 com o ID e NOME dos 
departamentos da Regiao 1, poderíamos obtê-la 
então atribuindo a saída 
da expressão relacional, utilizando o operador = , 
a uma tabela. 
A expressão seria então:
Observe o resultado na Tabela T1 (Figura 8 b).
IMPLEMENTAÇÃO DE BANCO DE DADOS 27
5. OPERAÇÕES DE CONJUNTOS A PARTIR DE 
CONSULTAS 
Todos os exemplos que vimos até agora em 
Operações de Conjunto atuaram sobre conjuntos 
de linhas que correspondiam a tabelas 
existentes. Vejamos um exemplo diferente onde 
os conjuntos serão gerados a partir da operação 
de projeção e seleção 
Observemos a tabela Empregado (Figura 9).
Desejamos saber o ID e o nome dos 
empregados que são do departamento 10 ou 
que ganham salário maior ou igual a 1500,00.
Apesar de podermos resolver esta situação 
apenas com projeção e seleção, conforme já 
vimos anteriormente, em alguns casos pode ser 
mais interessante operar comconjuntos.
Como faríamos então?
IMPLEMENTAÇÃO DE BANCO DE DADOS 28
Inicialmente projetaríamos o ID e NOME dos 
empregados do departamento 10 a atribuiríamos 
a uma tabela temporária usando a expressão:
A tabela resultante T1 ( Figura 10) teria então 
três linhas:
A seguir projetaríamos o ID e NOME dos 
empregados com salario maior ou igual a 
1500,00 e atribuiríamos a uma tabela temporária 
usando a expressão:
A tabela resultante T2 (Figura 11) teria então três 
linhas:
IMPLEMENTAÇÃO DE BANCO DE DADOS 29
Finalmente faríamos a União das tabelas 
temporárias usando a expressão:
T1 U T2
Analisando a Tabela Resultante (Figura 12) do 
comando podemos notar que:
✴ No resultado aparecem todas as linhas de T1e 
todas a linhas de T2.
✴ As linha redundantes ( 101 Carlos Antunes e 
104 Marco Aurélio ) aparecem apenas uma 
vez
✴Os nomes das colunas correspondem aos 
nomes das colunas da tabela que aparece a 
esquerda na expressão no caso a tabela T1.
O mesmo tipo de raciocínio poderia ser aplicado 
as operações de Interseção e Diferença.
IMPLEMENTAÇÃO DE BANCO DE DADOS 30
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.
A representação da operação de divisão entre as 
relações A e B  é A / B
Vejamos um exemplo
Considere as tabelas Funcionário, Projeto e 
Funcionario_Projeto
A tabela Funcionário_Projeto faz a associação 
entre os Projetos e os Empregados. 
Vamos supor que desejamos saber o ID dos  
Funcionários que Trabalham em todos os 
Projetos.
Qual seria a expressão que realizaria a operação 
desejada e qual resultado obteríamos?
IMPLEMENTAÇÃO DE BANCO DE DADOS 31
Inicialmente, teríamos que projetar o ID dos 
projetos a partir da expressão,
T1 = π Id_Proj(Projeto)
IMPLEMENTAÇÃO DE BANCO DE DADOS 32
gerando a tabela T1 ( figura abaixo).
A s e g u i r , f a r í a m o s a d i v i s ã o   d e 
Funcionário_Projeto por T1 com a expressão 
Funcionario_Projeto  / T1
 
Analisando a Tabela Resultante do comando, 
podemos notar que:
✴no resultado, aparece apenas a coluna 
ID_FUNC, que é a coluna que existe na tabela 
funcionário_projeto, que não existe em T1; 
✴a divisão é realizada, comparando-se todas as 
linhas de funcionário_projeto com as linhas de 
T1 e retornando o valor de ID_FUNC, que se 
relaciona com TODOS os valores de ID_PROJ 
em T1;
✴como temos 3 valores de ID_PROJ em T1 
(11,12,13), ao realizarmos a divisão irá 
retornar o valor de ID_FUNC que se associe 
aos três valores;
IMPLEMENTAÇÃO DE BANCO DE DADOS 33
✴analisando Funcionário_Projeto, notamos que 
o Funcionário 101 está associado aos três 
projetos, portanto ele faz parte do conjunto 
resposta;
✴de forma contrária, o funcionário 102 está 
associado APENAS aos projetos 12 e 13, não 
retornando na divisão.
Nesta aula, você: 
•Aprendeu a respeito da álgebra relacional.
•Compreendeu as principais operações da 
álgebra relacional.
•Construiu expressões de álgebra relacional.
IMPLEMENTAÇÃO DE BANCO DE DADOS 34
REGISTRO DE PARTICIPAÇÃO
1. A operação de álgebra relacional que 
seleciona as colunas de uma tabela é a:
 1) Seleção. 
 2) Projeção. 
 3) Junção. 
 4) União. 
 5) Interseção. 
 
2. Quando queremos produzir, como resultado 
de uma consulta, um conjuntos de dados que é 
junção de dois conjuntos de dados de mesmo 
tipos, usamos a:
 1) Junção. 
 2) Intersecção. 
 3) Seleção. 
 4) Produto Cartesiano. 
 5) União. 
 
3. É um exemplo de operação unária:
 1) Junção. 
 2) Seleção. 
 3) União. 
 4) Diferença. 
 5) Interseção. 
IMPLEMENTAÇÃO DE BANCO DE DADOS 35
 
4. Quando queremos produzir uma tabela a 
partir outras duas, combinando apenas as tuplas 
que se relacionam, devemos fazer uma:
 1) Projeção. 
 2) Junção. 
 3) Seleção. 
 4) Interseção. 
 5) Diferença. 
 
5. A operação que nos permite recuperar 
informações do tipo: os jogadores que 
participaram de todos os torneios, é a: 
 1) Junção. 
 2) Seleção. 
 3) União. 
 4) Diferença. 
 5) Divisão. 
 
IMPLEMENTAÇÃO DE BANCO DE DADOS 36

Outros materiais