140 likes | 468 Views
Colégio da Imaculada Curso Técnico em Informática. Álgebra Relacional (Exemplos). Prof. Tales Cabral talescabral@colegiodaimaculada.com.br. 2º Módulo. Dado um BD Relacional:. Sistema Bancário:. Muito Utilizados. Aplicando a Álgebra Relacional. Álgebra Relacional:
E N D
Colégio da ImaculadaCurso Técnico em Informática Álgebra Relacional(Exemplos) Prof. Tales Cabral talescabral@colegiodaimaculada.com.br 2º Módulo
Dado um BD Relacional: Sistema Bancário:
Muito Utilizados 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 Pouco Utilizados Muito Utilizados Pouco Utilizados
Aplicando a Álgebra Relacional • Operadores fundamentais: • 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: • Selecionar as tuplas da Relação Empréstimo, onde a agência é “São João” • 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” Permite os operadores: =, ≠, <, <=, >, >= na expressão nomeAgencia=“São João” (Empréstimo)
Aplicando a Álgebra Relacional • Operadores fundamentais: • Projeção: • Seleciona os atributos de interesse; • Produz um subconjunto vertical de uma relação. • Notação: • <atributos> (<relação>) Exemplos: • Encontrar apenas os nomes dos clientes que fizeram empréstimo e o nome das agências onde foram realizados. • Encontrar os nomes de ruas dos clientes. • Encontrar todos os números de conta existentes Separados por vírgula nomeCliente, nomeAgencia (Empréstimo)
Aplicando a Álgebra Relacional • Operadores fundamentais: • 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: • Encontrar os dados dos clientes que fizeram empréstimo e as cidades onde eles vivem. • Encontrar todos os dados dos clientes e de agências existentes. (Empréstimo x Cliente)
Pausa • Aplicando os Operadores Vistos: • 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. • 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. • 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.
Aplicando a Álgebra Relacional • Operadores fundamentais: • 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: • 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. • Encontrar todos os clientes que têm algum saldo ou débito. (nomeAgência,nomeCliente (Emprestimo)) ) nomeAgência=“São João” ( (nomeAgência,nomeCliente (Conta))
Aplicando a Álgebra Relacional • Operadores fundamentais: • 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: • Encontrar todos os clientes da agência “São João” que tenham uma conta mas não tenham empréstimo. • 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))
Aplicando a Álgebra Relacional • Operadores fundamentais: • 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: • Encontrar todos os clientes que possuam tanto um empréstimo como uma conta na agência “São João”.] • 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))
Aplicando a Álgebra Relacional • Operadores fundamentais: • 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: • Encontre todos os clientes que possuam um empréstimo em alguma agência e as cidades onde eles moram. • Encontre o nome dos clientes que possuem algum empréstimo e alguma conta. nomeCliente, cidadeCliente (Empréstimo [X] Cliente)
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ório codm – código do médico Codp – código do paciente Codf – código do funcionário
Responda: • buscar os dados dos pacientes que estão com sarampo • buscar os dados dos médicos ortopedistas com mais de 55 anos • buscar os dados de todas as consultas, exceto aquelas marcadas para os médicos com código 46 e 79 • buscar os dados dos ambulatórios do quarto andar. Estes ambulatórios devem ter capacidade igual a 50 ou número superior a 10 • buscar o nome e a especialidade de todos os médicos • buscar o número dos ambulatórios do 3º andar • buscar o código dos médicos e as datas das consultas para os pacientes com código 122 e 725 • buscar os números dos ambulatórios com capacidade superior a 50, exceto aqueles do segundo e quarto andares.
Responda: • buscar o nome dos médicos que têm consulta marcada e as datas das suas consultas • buscar o número e a capacidade dos ambulatórios do quinto andar e o nome dos médicos ortopedistas que atendem neles • 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 • 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 • buscar o nome e CPF dos médicos e dos pacientes cadastrados no hospital • buscar o nome, CPF e idade dos médicos, pacientes e funcionários que residem em Florianópolis • 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