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 Report

Transcript 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