Álgebra RelacionalÁlgebra Relacional(Exemplos)(Exemplos)
Álgebra RelacionalÁlgebra Relacional(Exemplos)(Exemplos)
Prof. Tales CabralProf. Tales [email protected]
Colégio da ImaculadaColégio da ImaculadaCurso Técnico em InformáticaCurso Técnico em Informática
2º Módulo2º Módulo
Slide nº 2 de 14
Dado um BD Relacional:Agencia Cliente
nomeAgencia cidadeAgencia nomeCliente ruaCliente cidadeCliente
São João POA Denise Olinda POA
Assis Brasil Canoas João Paraná POA
Verde Guaíba Pedro Pará Canoas
Farrapos POA Ana Viena Canoas
Itu Canoas Maria Chicago Guaíba
Conta Emprestimo
nroConta nomeAgencia nomeCliente saldo nroEmprestimo nomeAgencia nomeCliente valor
100 Farrapos Denise 2.000,00 100 Assis Brasil Pedro 7.000,00
200 Farrapos Pedro 300,00 200 Verde Maria 11.000,00
300 São João Ana 2.500,00 400 Assis Brasil Denise 5.000,00
50 Verde Maria 3.000,00 500 São João Ana 35.000,00
500 Assis Brasil Denise 600,00
Sistema Bancário:
Slide nº 3 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:• Produto Cartesiano• Seleção• Projeção• União• Diferença
– Constituída de 3 operadores derivados:• Junção Natural• Interseção• Divisão
Muito Utilizados
Pouco Utilizados
Muito UtilizadosPouco Utilizados
Slide nº 4 de 14
Aplicando a Álgebra Relacional
• Operadores fundamentais:
1. Seleção:– Seleciona tuplas que satisfazem uma dada condição;– Produz um subconjunto horizontal de uma relação.– Notação:
<condição> (<relação>)
Exemplos:a) Selecionar as tuplas da Relação Empréstimo, onde a
agência é “São João”
b) Selecionar todas as tuplas nas quais o valor do empréstimo é maior do que 2000.
c) Encontrar as tuplas dos empréstimos com valor maior que 2000 e efetuadas na agência “São João”
Permite os operadores: =, ≠, <, <=, >, >= na expressão
nomeAgencia=“São João” (Empréstimo)
Slide nº 5 de 14
Aplicando a Álgebra Relacional
• Operadores fundamentais:
2. Projeção:– Seleciona os atributos de interesse;– Produz um subconjunto vertical de uma relação.– Notação:
<atributos> (<relação>)
Exemplos:a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b) Encontrar os nomes de ruas dos clientes.c) Encontrar todos os números de conta existentes
nomeCliente, nomeAgencia (Empréstimo)
Separados por vírgula
Slide nº 6 de 14
Aplicando a Álgebra Relacional
• Operadores fundamentais:
3. Produto Cartesiano:– Combinação de todas as tuplas de 2 relações;– Utilizado quando se necessita obter dados presentes
em duas ou mais relações.– Notação:
• (<relação1> x <relação2> ... )
Exemplos:a) Encontrar os dados dos clientes que fizeram empréstimo
e as cidades onde eles vivem.
b) Encontrar todos os dados dos clientes e de agências existentes.
(Empréstimo x Cliente)
Slide nº 7 de 14
Pausa• Aplicando os Operadores Vistos:
a) Buscar o nome dos clientes que têm uma conta no banco, as cidades onde eles vivem e a cidade das agências onde eles têm suas contas.
b) Encontrar o valor do empréstimo feito pelo cliente “Pedro”.c) Encontrar o nome dos clientes que fizeram empréstimo, mas
somente daqueles que possuem alguma conta.d) Selecionar a cidade onde mora a “Ana”.e) Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
f) Selecionar o nome dos clientes que realizaram os três primeiros empréstimos.
g) Buscar o nome dos clientes que têm saldo ou empréstimo maior ou igual a 3.000,00.
h) Buscar o nome dos clientes que têm conta na cidade onde moram.
i) Selecionar o nome dos clientes que moram em Porto Alegre.j) Selecionar o valor dos empréstimos feitos na agência “São
João”.k) Selecionar o nome das agências que têm o mesmo nome das
cidades onde elas estão.
Slide nº 8 de 14
Aplicando a Álgebra Relacional• Operadores fundamentais:
4. União:– Une as tuplas de 2 relações que sejam compatíveis;– Notação:
• (<relação1> <relação2> ... )Obs.: Operadores Matemáticos (união, diferença, interseção) aplicam-se a 2 relações ditas
compatíveis, ou seja:– Relações de mesmo grau;– Relações cujos domínios dos atributos são iguais, na mesma ordem de definição das
colunas.
Exemplos:a) Encontrar todos os clientes da agência “São João”, ou seja,
podem ser aqueles que tenham uma conta na agência ou empréstimo em ambos.
b) Encontrar todos os clientes que têm algum saldo ou débito.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta)) (nomeAgência,nomeCliente (Emprestimo)) )
Slide nº 9 de 14
Aplicando a Álgebra Relacional• Operadores fundamentais:
5. Diferença:– Retorna as tuplas de uma relação 1 cujos valores dos
atributos não estão presentes em uma relação 2;– Notação:
• (<relação1> - <relação2> ... )Obs.: Operadores Matemáticos (união, diferença, interseção) aplicam-se a 2 relações
ditas compatíveis, ou seja:– Relações de mesmo grau;– Relações cujos domínios dos atributos são iguais, na mesma ordem de definição
das colunas.
Exemplos:a) Encontrar todos os clientes da agência “São João” que
tenham uma conta mas não tenham empréstimo.
b) Encontrar os dados dos clientes que não fizeram empréstimo.
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) -
nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Slide nº 10 de 14
Aplicando a Álgebra Relacional• Operadores fundamentais:
6. Interseção:– Retorna as tuplas cujos valores dos atributos sejam
comuns às relações 1 e 2;– Notação:
• (<relação1> <relação2> ... )Obs.: Operadores Matemáticos (união, diferença, interseção) aplicam-se a 2 relações
ditas compatíveis, ou seja:– Relações de mesmo grau;– Relações cujos domínios dos atributos são iguais, na mesma ordem de definição
das colunas.
Exemplos:a) Encontrar todos os clientes que possuam tanto um
empréstimo como uma conta na agência “São João”.]
b) Encontrar a cidade tanto das agências quanto dos clientes que se chamam “João”
nomeAgência (nomeAgência=“São João” (Conta)) nomeAgência (nomeAgência=“São João” (Empréstimo))
Slide nº 11 de 14
Aplicando a Álgebra Relacional• Operadores fundamentais:
7. Junção Natural:– Combinação dos operadores produto cartesiano e
seleção (retorna as tuplas de um produto cartesiano que satisfazem uma dada condição);
– Notação:• (<relação1> [X] <relação2> ... )
Exemplo:a) Encontre todos os clientes que possuam um empréstimo
em alguma agência e as cidades onde eles moram.
b) Encontre o nome dos clientes que possuem algum empréstimo e alguma conta.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
Slide nº 12 de 14
Exercícios de Fixação
• Dado o seguinte modelo relacional:
Ambulatórios(nroa, andar, capacidade)Médicos(codm, CPF, nome, idade, cidade, especialidade,
nroa)Pacientes(codp, CPF, nome, idade, cidade, doença)Consultas(codm, codp, data, hora)Funcionários(codf, CPF, nome, idade, cidade, salário)
Dicionário de Dados:
nroa – número do ambulatóriocodm – código do médicoCodp – código do pacienteCodf – código do funcionário
Slide nº 13 de 14
Responda:
1. buscar os dados dos pacientes que estão com sarampo
2. buscar os dados dos médicos ortopedistas com mais de 55 anos
3. buscar os dados de todas as consultas, exceto aquelas marcadas para os médicos com código 46 e 79
4. buscar os dados dos ambulatórios do quarto andar. Estes ambulatórios devem ter capacidade igual a 50 ou número superior a 10
5. buscar o nome e a especialidade de todos os médicos
6. buscar o número dos ambulatórios do 3º andar
7. buscar o código dos médicos e as datas das consultas para os pacientes com código 122 e 725
8. buscar os números dos ambulatórios com capacidade superior a 50, exceto aqueles do segundo e quarto andares.
Slide nº 14 de 14
Responda:
9. buscar o nome dos médicos que têm consulta marcada e as datas das suas consultas
10. buscar o número e a capacidade dos ambulatórios do quinto andar e o nome dos médicos ortopedistas que atendem neles
11. buscar, para as consultas marcadas para o período da manhã (7hs-12hs) do dia 25/09/06, o nome do médico, o nome do paciente e a data da consulta
12. buscar o nome e o salário dos funcionários de Florianópolis e Palhoça que estão internados como pacientes e têm consulta marcada com psiquiatras
13. buscar o nome e CPF dos médicos e dos pacientes cadastrados no hospital
14. buscar o nome, CPF e idade dos médicos, pacientes e funcionários que residem em Florianópolis
15. buscar o nome e CPF dos funcionários que recebem salários abaixo de R$ 500,00 e não estão internados como pacientes