Colégio da Imaculada Curso Técnico em Informática Álgebra Relacional (Exemplos) Prof. Tales Cabral [email protected] 2º Módulo Dado um BD Relacional: Sistema Bancário: Agência Relação 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 Relação Conta nomeAgencia nroConta nomeCliente saldo Farrapos Denise 2.000,00 Farrapos Pedro 300,00 São João Ana Maria Verde Assis Brasil 500 Denise Relação.
Download ReportTranscript Colégio da Imaculada Curso Técnico em Informática Álgebra Relacional (Exemplos) Prof. Tales Cabral [email protected] 2º Módulo Dado um BD Relacional: Sistema Bancário: Agência Relação 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 Relação Conta nomeAgencia nroConta nomeCliente saldo Farrapos Denise 2.000,00 Farrapos Pedro 300,00 São João Ana Maria Verde Assis Brasil 500 Denise Relação.
Slide 1
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
()
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
()
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
( x ... )
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
( ... )
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
( - ... )
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
( ... )
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
( [X] ... )
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 2
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
()
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
()
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
( x ... )
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
( ... )
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
( - ... )
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
( ... )
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
( [X] ... )
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 3
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
()
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
()
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
( x ... )
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
( ... )
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
( - ... )
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
( ... )
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
( [X] ... )
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 4
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
()
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
()
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
( x ... )
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
( ... )
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
( - ... )
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
( ... )
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
( [X] ... )
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 5
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
()
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
()
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
( x ... )
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
( ... )
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
( - ... )
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
( ... )
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
( [X] ... )
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 6
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
()
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
()
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
( x ... )
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
( ... )
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
( - ... )
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
( ... )
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
( [X] ... )
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 7
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
()
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
()
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
( x ... )
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
( ... )
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
( - ... )
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
( ... )
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
( [X] ... )
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 8
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
()
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
()
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
( x ... )
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
( ... )
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
( - ... )
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
( ... )
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
( [X] ... )
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 9
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
()
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
()
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
( x ... )
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
( ... )
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
( - ... )
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
( ... )
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
( [X] ... )
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 10
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
()
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
()
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
( x ... )
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
( ... )
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
( - ... )
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
( ... )
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
( [X] ... )
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 11
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
()
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
()
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
( x ... )
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
( ... )
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
( - ... )
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
( ... )
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
( [X] ... )
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 12
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
()
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
()
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
( x ... )
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
( ... )
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
( - ... )
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
( ... )
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
( [X] ... )
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 13
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
()
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
()
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
( x ... )
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
( ... )
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
( - ... )
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
( ... )
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
( [X] ... )
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 14
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
()
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
()
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
( x ... )
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
( ... )
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
( - ... )
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
( ... )
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
( [X] ... )
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
(
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
(
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
(
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
(
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
(
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
(
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
(
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 2
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
(
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
(
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
(
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
(
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
(
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
(
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
(
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 3
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
(
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
(
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
(
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
(
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
(
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
(
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
(
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 4
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
(
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
(
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
(
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
(
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
(
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
(
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
(
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 5
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
(
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
(
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
(
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
(
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
(
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
(
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
(
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 6
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
(
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
(
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
(
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
(
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
(
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
(
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
(
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 7
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
(
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
(
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
(
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
(
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
(
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
(
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
(
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 8
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
(
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
(
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
(
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
(
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
(
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
(
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
(
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 9
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
(
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
(
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
(
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
(
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
(
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
(
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
(
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 10
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
(
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
(
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
(
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
(
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
(
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
(
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
(
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 11
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
(
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
(
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
(
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
(
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
(
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
(
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
(
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 12
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
(
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
(
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
(
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
(
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
(
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
(
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
(
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 13
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
(
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
(
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
(
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
(
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
(
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
(
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
(
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14
Slide 14
Colégio da Imaculada
Curso Técnico em Informática
Álgebra Relacional
(Exemplos)
Prof. Tales Cabral
[email protected]
2º Módulo
Dado um BD Relacional:
Sistema Bancário:
Agência
Relação 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
Relação Conta
nomeAgencia
nroConta
nomeCliente
saldo
Farrapos
100
Denise
2.000,00
Farrapos
200
Pedro
300,00
São João
300
Ana
Maria
Verde
Assis Brasil
50
500
Denise
Relação Empréstimo
nomeAgencia
nroEmprestimo
nomeCliente
valor
Assis Brasil
100
Pedro
7.000,00
Verde
200
Maria
11.000,00
2.500,00
Assis Brasil
400
Denise
3.000,00
São João
500
Ana
5.000,00
35.000,00
600,00
Slide nº 2 de 14
Aplicando a Álgebra Relacional
• Álgebra Relacional:
– Constituída de 5 operadores fundamentais:
•
•
•
•
•
Produto Cartesiano
Seleção
Projeção
União
Diferença
Muito Utilizados
Pouco Utilizados
– Constituída de 3 operadores derivados:
• Junção Natural
• Interseção
• Divisão
Muito Utilizados
Pouco Utilizados
Slide nº 3 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:
•
(
Permite os operadores: =, ≠, <, <=, >, >= na expressão
Exemplos:
a) Selecionar as tuplas da Relação Empréstimo, onde a agência é
“São João”
b)
c)
nomeAgencia=“São João”
(Agência)
Selecionar todas as tuplas nas quais o valor do empréstimo é
maior do que 2000.
Encontrar as tuplas dos empréstimos com valor maior que
2000 e efetuadas na agência “São João”
Slide nº 4 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:
•
(
Separados por vírgula
Exemplos:
a) Encontrar apenas os nomes dos clientes que fizeram
empréstimo e o nome das agências onde foram realizados.
b)
c)
nomeCliente, nomeAgencia
(Empréstimo)
Encontrar os nomes de ruas dos clientes.
Encontrar todos os números de conta existentes
Slide nº 5 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:
•
(
Exemplos:
a) Encontrar os dados dos clientes que fizeram empréstimo e as
cidades onde eles vivem.
(Empréstimo x Cliente)
b)
Encontrar todos os dados dos clientes e de contas existentes.
Slide nº 6 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)
c)
Encontrar o valor do empréstimo feito pelo cliente “Pedro”.
Encontrar o nome dos clientes que fizeram empréstimo, mas somente
daqueles que possuem alguma conta.
Selecionar a cidade onde mora a “Ana”.
Selecionar o nome dos clientes preferenciais do banco. Clientes
preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.
Selecionar o nome dos clientes que realizaram os três primeiros
empréstimos. Para isso, sabemos que os números de empréstimos são
registrados sempre de 100 em 100.
Buscar o nome dos clientes que têm saldo ou empréstimo maior ou
igual a 3.000,00.
Buscar o nome dos clientes que têm conta na cidade onde moram.
Selecionar o nome dos clientes que moram em Porto Alegre.
Selecionar o valor dos empréstimos feitos na agência “São João”.
Selecionar o nome das agências que têm o mesmo nome das cidades
onde elas estão.
d)
e)
f)
g)
h)
i)
j)
k)
Slide nº 7 de 14
Aplicando a Álgebra Relacional
•
Operadores fundamentais:
4. União:
–
–
Une as tuplas de 2 relações que sejam compatíveis;
Notação:
•
(
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.
nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
b)
(nomeAgência,nomeCliente (Emprestimo)) )
Encontrar todos os clientes que têm algum saldo ou débito.
Slide nº 8 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:
•
(
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)
nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))
Encontrar os dados dos clientes que não fizeram empréstimo.
Slide nº 9 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:
•
(
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”.]
nomeAgência (nomeAgência=“São João” (Conta))
b)
nomeAgência (nomeAgência=“São João” (Empréstimo))
Encontrar a cidade tanto das agências quanto dos clientes que
se chamam “João”
Slide nº 10 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:
•
(
Exemplo:
a) Encontre todos os clientes que possuam um empréstimo em
alguma agência e as cidades onde eles moram.
nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
b)
Encontre o nome dos clientes que possuem ou algum empréstimo
ou alguma conta.
Slide nº 11 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)
Slide nº 12 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º 13 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
Slide nº 14 de 14