14
Álgebra Relacional Álgebra Relacional (Exemplos) (Exemplos) Prof. Tales Cabral Prof. Tales Cabral [email protected] Colégio da Imaculada Colégio da Imaculada Curso Técnico em Informática Curso Técnico em Informática 2º Módulo 2º Módulo

Álgebra Relacional (Exemplos) Prof. Tales Cabral [email protected] Colégio da Imaculada Curso Técnico em Informática 2º Módulo

Embed Size (px)

Citation preview

Álgebra RelacionalÁlgebra Relacional(Exemplos)(Exemplos)

Álgebra RelacionalÁlgebra Relacional(Exemplos)(Exemplos)

Prof. Tales CabralProf. Tales [email protected]

Colégio da ImaculadaColégio da ImaculadaCurso Técnico em InformáticaCurso Técnico em Informática

2º Módulo2º Módulo

Slide nº 2 de 14

Dado um BD Relacional:Agencia Cliente

nomeAgencia cidadeAgencia nomeCliente ruaCliente cidadeCliente

São João POA Denise Olinda POA

Assis Brasil Canoas João Paraná POA

Verde Guaíba Pedro Pará Canoas

Farrapos POA Ana Viena Canoas

Itu Canoas Maria Chicago Guaíba

Conta Emprestimo

nroConta nomeAgencia nomeCliente saldo nroEmprestimo nomeAgencia nomeCliente valor

100 Farrapos Denise 2.000,00 100 Assis Brasil Pedro 7.000,00

200 Farrapos Pedro 300,00 200 Verde Maria 11.000,00

300 São João Ana 2.500,00 400 Assis Brasil Denise 5.000,00

50 Verde Maria 3.000,00 500 São João Ana 35.000,00

500 Assis Brasil Denise 600,00

Sistema Bancário:

Slide nº 3 de 14

Aplicando a Álgebra Relacional

• Álgebra Relacional:

– Constituída de 5 operadores fundamentais:• Produto Cartesiano• Seleção• Projeção• União• Diferença

– Constituída de 3 operadores derivados:• Junção Natural• Interseção• Divisão

Muito Utilizados

Pouco Utilizados

Muito UtilizadosPouco Utilizados

Slide nº 4 de 14

Aplicando a Álgebra Relacional

• Operadores fundamentais:

1. Seleção:– Seleciona tuplas que satisfazem uma dada condição;– Produz um subconjunto horizontal de uma relação.– Notação:

<condição> (<relação>)

Exemplos:a) Selecionar as tuplas da Relação Empréstimo, onde a

agência é “São João”

b) Selecionar todas as tuplas nas quais o valor do empréstimo é maior do que 2000.

c) Encontrar as tuplas dos empréstimos com valor maior que 2000 e efetuadas na agência “São João”

Permite os operadores: =, ≠, <, <=, >, >= na expressão

nomeAgencia=“São João” (Empréstimo)

Slide nº 5 de 14

Aplicando a Álgebra Relacional

• Operadores fundamentais:

2. Projeção:– Seleciona os atributos de interesse;– Produz um subconjunto vertical de uma relação.– Notação:

<atributos> (<relação>)

Exemplos:a) Encontrar apenas os nomes dos clientes que fizeram

empréstimo e o nome das agências onde foram realizados.

b) Encontrar os nomes de ruas dos clientes.c) Encontrar todos os números de conta existentes

nomeCliente, nomeAgencia (Empréstimo)

Separados por vírgula

Slide nº 6 de 14

Aplicando a Álgebra Relacional

• Operadores fundamentais:

3. Produto Cartesiano:– Combinação de todas as tuplas de 2 relações;– Utilizado quando se necessita obter dados presentes

em duas ou mais relações.– Notação:

• (<relação1> x <relação2> ... )

Exemplos:a) Encontrar os dados dos clientes que fizeram empréstimo

e as cidades onde eles vivem.

b) Encontrar todos os dados dos clientes e de agências existentes.

(Empréstimo x Cliente)

Slide nº 7 de 14

Pausa• Aplicando os Operadores Vistos:

a) Buscar o nome dos clientes que têm uma conta no banco, as cidades onde eles vivem e a cidade das agências onde eles têm suas contas.

b) Encontrar o valor do empréstimo feito pelo cliente “Pedro”.c) Encontrar o nome dos clientes que fizeram empréstimo, mas

somente daqueles que possuem alguma conta.d) Selecionar a cidade onde mora a “Ana”.e) Selecionar o nome dos clientes preferenciais do banco. Clientes

preferenciais são aqueles que possuem saldo maior que R$ 2.000,00.

f) Selecionar o nome dos clientes que realizaram os três primeiros empréstimos.

g) Buscar o nome dos clientes que têm saldo ou empréstimo maior ou igual a 3.000,00.

h) Buscar o nome dos clientes que têm conta na cidade onde moram.

i) Selecionar o nome dos clientes que moram em Porto Alegre.j) Selecionar o valor dos empréstimos feitos na agência “São

João”.k) Selecionar o nome das agências que têm o mesmo nome das

cidades onde elas estão.

Slide nº 8 de 14

Aplicando a Álgebra Relacional• Operadores fundamentais:

4. União:– Une as tuplas de 2 relações que sejam compatíveis;– Notação:

• (<relação1> <relação2> ... )Obs.: Operadores Matemáticos (união, diferença, interseção) aplicam-se a 2 relações ditas

compatíveis, ou seja:– Relações de mesmo grau;– Relações cujos domínios dos atributos são iguais, na mesma ordem de definição das

colunas.

Exemplos:a) Encontrar todos os clientes da agência “São João”, ou seja,

podem ser aqueles que tenham uma conta na agência ou empréstimo em ambos.

b) Encontrar todos os clientes que têm algum saldo ou débito.

nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta)) (nomeAgência,nomeCliente (Emprestimo)) )

Slide nº 9 de 14

Aplicando a Álgebra Relacional• Operadores fundamentais:

5. Diferença:– Retorna as tuplas de uma relação 1 cujos valores dos

atributos não estão presentes em uma relação 2;– Notação:

• (<relação1> - <relação2> ... )Obs.: Operadores Matemáticos (união, diferença, interseção) aplicam-se a 2 relações

ditas compatíveis, ou seja:– Relações de mesmo grau;– Relações cujos domínios dos atributos são iguais, na mesma ordem de definição

das colunas.

Exemplos:a) Encontrar todos os clientes da agência “São João” que

tenham uma conta mas não tenham empréstimo.

b) Encontrar os dados dos clientes que não fizeram empréstimo.

nomeAgência,nomeCliente (nomeAgência=“São João” (Conta)) -

nomeAgência,nomeCliente (nomeAgência=“São João” (Empréstimo))

Slide nº 10 de 14

Aplicando a Álgebra Relacional• Operadores fundamentais:

6. Interseção:– Retorna as tuplas cujos valores dos atributos sejam

comuns às relações 1 e 2;– Notação:

• (<relação1> <relação2> ... )Obs.: Operadores Matemáticos (união, diferença, interseção) aplicam-se a 2 relações

ditas compatíveis, ou seja:– Relações de mesmo grau;– Relações cujos domínios dos atributos são iguais, na mesma ordem de definição

das colunas.

Exemplos:a) Encontrar todos os clientes que possuam tanto um

empréstimo como uma conta na agência “São João”.]

b) Encontrar a cidade tanto das agências quanto dos clientes que se chamam “João”

nomeAgência (nomeAgência=“São João” (Conta)) nomeAgência (nomeAgência=“São João” (Empréstimo))

Slide nº 11 de 14

Aplicando a Álgebra Relacional• Operadores fundamentais:

7. Junção Natural:– Combinação dos operadores produto cartesiano e

seleção (retorna as tuplas de um produto cartesiano que satisfazem uma dada condição);

– Notação:• (<relação1> [X] <relação2> ... )

Exemplo:a) Encontre todos os clientes que possuam um empréstimo

em alguma agência e as cidades onde eles moram.

b) Encontre o nome dos clientes que possuem algum empréstimo e alguma conta.

nomeCliente, cidadeCliente (Empréstimo [X] Cliente)

Slide nº 12 de 14

Exercícios de Fixação

• Dado o seguinte modelo relacional:

Ambulatórios(nroa, andar, capacidade)Médicos(codm, CPF, nome, idade, cidade, especialidade,

nroa)Pacientes(codp, CPF, nome, idade, cidade, doença)Consultas(codm, codp, data, hora)Funcionários(codf, CPF, nome, idade, cidade, salário)

Dicionário de Dados:

nroa – número do ambulatóriocodm – código do médicoCodp – código do pacienteCodf – código do funcionário

Slide nº 13 de 14

Responda:

1. buscar os dados dos pacientes que estão com sarampo

2. buscar os dados dos médicos ortopedistas com mais de 55 anos

3. buscar os dados de todas as consultas, exceto aquelas marcadas para os médicos com código 46 e 79

4. buscar os dados dos ambulatórios do quarto andar. Estes ambulatórios devem ter capacidade igual a 50 ou número superior a 10

5. buscar o nome e a especialidade de todos os médicos

6. buscar o número dos ambulatórios do 3º andar

7. buscar o código dos médicos e as datas das consultas para os pacientes com código 122 e 725

8. buscar os números dos ambulatórios com capacidade superior a 50, exceto aqueles do segundo e quarto andares.

Slide nº 14 de 14

Responda:

9. buscar o nome dos médicos que têm consulta marcada e as datas das suas consultas

10. buscar o número e a capacidade dos ambulatórios do quinto andar e o nome dos médicos ortopedistas que atendem neles

11. buscar, para as consultas marcadas para o período da manhã (7hs-12hs) do dia 25/09/06, o nome do médico, o nome do paciente e a data da consulta

12. buscar o nome e o salário dos funcionários de Florianópolis e Palhoça que estão internados como pacientes e têm consulta marcada com psiquiatras

13. buscar o nome e CPF dos médicos e dos pacientes cadastrados no hospital

14. buscar o nome, CPF e idade dos médicos, pacientes e funcionários que residem em Florianópolis

15. buscar o nome e CPF dos funcionários que recebem salários abaixo de R$ 500,00 e não estão internados como pacientes