A maior rede de estudos do Brasil

Grátis
Aula_10

Pré-visualização | Página 1 de 3

*
*
MATEMÁTICA DISCRETA – AULA 10
PROFESSORA HELGA BODSTEIN, D.Sc. 
Aula 10
Esquema Relacional e 
Otimizações Algébricas
*
*
Conteúdo
Operações relacionais utilizando Modelos Relacionais
Otimização Algébrica
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Modelo Relacional – Manipulação
Duas categorias de linguagens
- Formais:	
	Álgebra relacional e Cálculo relacional
- Comerciais (baseadas nas linguagens formais)
	SQL
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Modelo Relacional – Manipulação
Álgebra Relacional
	Operadores para consulta e alteração de relações
Linguagem procedural
 - uma expressão na álgebra define uma execução sequencial de operadores;
 - a execução de cada operador produz uma relação; 
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Modelo Relacional – Manipulação
Esquema Relacional
	Para a realização das operações não é necessário conhecer as tuplas envolvidas.
	É necessário aplicar as expressões pertinentes para alcançar o objetivo da consulta. 
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Modelo Relacional – Manipulação
Esquema Relacional
Exemplos:
- AMBULATÓRIO (Numero, Andar, Capacidade)
- MÉDICO (Matricula, Nome, CRM, Especialidade)
- PACIENTE (Codigo, Nome, CPF, Dt.Nascimento, Doença)
- CONSULTA (MEDICO-Matricula, AMBULATORIO-Numero, PACIENTE-Codigo, Data, Hora) 
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Modelo Relacional – Manipulação
Esquema Relacional
Podemos trabalhar as operações vistas até agora através da utilização do esquema relacional.
, , -, U, ∩, X, 
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Modelo Relacional – Manipulação
Exemplos
 1 - Buscar os dados dos pacientes que estão com sarampo.
PACIENTE (Codigo, Nome, CPF, Dt.Nascimento, Doença)
PACIENTE (Codigo, Nome, CPF, Dt.Nascimento, Doença)
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Modelo Relacional – Manipulação
Exemplos
 1 - Buscar os dados dos pacientes que estão com sarampo.
PACIENTE (Codigo, Nome, CPF, Dt.Nascimento, Doença)
 
RESULTADO ← Doença = sarampo (PACIENTE)
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Exemplos
 2 - Buscar os dados dos ambulatórios do quarto andar. Estes ambulatórios devem ter capacidade igual a 50 ou número superior a 10.
AMBULATÓRIO (Numero, Andar, Capacidade)
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Exemplos
 2 - Buscar os dados dos ambulatórios do quarto andar. Estes ambulatórios devem ter capacidade igual a 50 ou número superior a 10.
AMBULATÓRIO (Numero, Andar, Capacidade)
Andar = 4 ^ (Capacidade = 50 v Número > 10) (AMBULATÓRIO)
ou
Andar = 4 and (Capacidade = 50 or Número > 10) (AMBULATÓRIO)
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Exemplos
3 - Buscar o nome e a especialidade de todos os médicos.
MÉDICO (Matricula, Nome, CRM, Especialidade-Código)
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Exemplos
3 - Buscar o nome e a especialidade de todos os médicos.
MÉDICO (Matricula, Nome, CRM, Especialidade-Código)
 Nome, Especialidade (MÉDICO)
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Exemplos
4 - Buscar os números dos ambulatórios com capacidade superior a 50, exceto aqueles do segundo e quarto andares
AMBULATÓRIO (Numero, Andar, Capacidade)
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Exemplos
4 - Buscar os números dos ambulatórios com capacidade superior a 50, exceto aqueles do segundo e quarto andares
AMBULATÓRIO (Numero, Andar, Capacidade)
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Exemplos
4 - Buscar os números dos ambulatórios com capacidade superior a 50, exceto aqueles do segundo e quarto andares
AMBULATÓRIO (Numero, Andar, Capacidade)
1º PASSO: Selecionar as tuplas de interesse.
 Capacidade >50 ^ Andar <> 2 ^ andar <> 4 (AMBULATÓRIO)
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Exemplos
4 - Buscar os números dos ambulatórios com capacidade superior a 50, exceto aqueles do segundo e quarto andares
AMBULATÓRIO (Numero, Andar, Capacidade)
2º PASSO: Projetar o resultado para obter o atributo de interesse:
Número( Capacidade >50 ^ Andar <> 2 ^ andar <> 4 (AMBULATÓRIO))
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Exemplos
5 - Buscar nome e o CRM dos médicos de especialidade dermatologia que realizaram consulta no ambulatório de número 15.
MÉDICO (Matricula, Nome, CRM, Especialidade)
CONSULTA (MEDICO-Matricula, AMBULATORIO-Numero, PACIENTE-Codigo, Data, Hora) 
AMBULATÓRIO (Numero, Andar, Capacidade)
= dermatologia
= 15
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Exemplos
5 - Buscar nome e o CRM dos médicos de especialidade dermatologia que realizaram consulta no ambulatório de número 15.
MÉDICO (Matricula, Nome, CRM, Especialidade)
CONSULTA (MEDICO-Matricula, AMBULATORIO-Numero, PACIENTE-Codigo, Data, Hora) 
AMBULATÓRIO (Numero, Andar, Capacidade)
= dermatologia
= 15
= 15
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
5 - Buscar nome e o CRM dos médicos de especialidade dermatologia que realizaram consulta no ambulatório de número 15.
MÉDICO (Matricula, Nome, CRM, Especialidade)
CONSULTA (MEDICO-Matricula, AMBULATORIO-Numero, PACIENTE-Codigo, Data, Hora) 
AMBULATÓRIO (Numero, Andar, Capacidade)
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
5 - Buscar nome e o CRM dos médicos de especialidade dermatologia que realizaram consulta no ambulatório de número 15.
MÉDICO (Matricula, Nome, CRM, Especialidade)
CONSULTA (MEDICO-Matricula, AMBULATORIO-Numero, PACIENTE-Codigo, Data, Hora) 
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
5 - Buscar nome e o CRM dos médicos de especialidade dermatologia que realizaram consulta no ambulatório de número 15.
1º PASSO: Junção entre Médico e Consulta, pelo atributo Matrícula do Médico:
MÉDICO CONSULTA
 Matricula = MEDICO-Matricula
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Exemplos
1º PASSO: Junção entre Médico e Consulta, pelo atributo Matrícula do Médico:
MÉDICO CONSULTA
 Matricula = MEDICO-Matricula
Este resultado terá todos os atributos de MÉDICO e os atributos de CONSULTA!
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Exemplos
2º PASSO: Selecionar as tuplas de acordo com os critérios, no resultado da JUNÇÃO:
MÉDICO (Matricula, Nome, CRM, Especialidade)
CONSULTA (MEDICO-Matricula, AMBULATORIO-Numero, PACIENTE-Codigo, Data, Hora)
MEDICO.ESPECIALIDADE=dermatologia^CONSULTA.AMBULATORIO-Numero=15 MÉDICO CONSULTA
 Matricula = MEDICO-Matricula
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Exemplos
3º PASSO: Projetar o(s) atributo(s) de interesse:
MÉDICO (Matricula, Nome, CRM, Especialidade)
MEDICO.Nome, MEDICO.CRM MEDICO.ESPECIALIDADE=dermatologia^CONSULTA.AMBULATORIO-Nuumero=15 MÉDICO CONSULTA
 Matricula = MEDICO-Matricula
objetivos
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
Exemplos
6 - Buscar os nomes dos médicos que atenderam pacientes com dengue no dia 15/01/2009.
AMBULATÓRIO (Numero, Andar, Capacidade)
MÉDICO (Matricula, Nome, CRM, Especialidade)
PACIENTE (Codigo, Nome, CPF, Dt.Nascimento, Doença)
CONSULTA (MEDICO-Matricula, AMBULATORIO-Numero, PACIENTE-Codigo, Data, Hora) 
*
*
Aula 10 – Modelos Relacionais e Otimizações Algébricas
6 - Buscar os nomes dos médicos que atenderam pacientes com dengue no dia 15/01/2009.
AMBULATÓRIO (Numero, Andar, Capacidade)
MÉDICO (Matricula, Nome, CRM, Especialidade)
PACIENTE (Codigo, Nome, CPF, Dt.Nascimento,

Crie agora seu perfil grátis para visualizar sem restrições.