Grátis
Denunciar
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,