• Nenhum resultado encontrado

Quest˜ ao 1: Ver notas de aula Quest˜ ao 2a:

N/A
N/A
Protected

Academic year: 2022

Share "Quest˜ ao 1: Ver notas de aula Quest˜ ao 2a:"

Copied!
3
0
0

Texto

(1)

Gabarito da Prova 1 - 17/04/2006

Pedro Losco Takecian Monitor

Jo˜ ao Eduardo Ferreira Professor 24 de abril de 2006

Quest˜ ao 1: Ver notas de aula Quest˜ ao 2a:

m n

rel_usu_perf

1

1

1 Usuário

endereço

instituição cpf nome

data_nascimento

login

senha

área_pesquisa

Perfil

descrição cod_perfil

Serviço

descrição

tipo cod_serviço

m n

rel_perf_serv

1 n

Figura 1: Projeto conceitual

Obs: O auto-relacionamento entre Usu´ arios (tutor e tutelado) poderia ser substitu´ıdo por uma especializa¸c˜ ao, na qual a entidade “Usu´ ario”teria duas entidades filhas: “Tutor”e “Tutelado”.

Quest˜ ao 2b:

USU ´ARIOS

nome cpf endere¸co institui¸c˜ao data nascimento login senha

AREAS DE PESQUISA´

cpf ´area pesquisa

PERFIS

cod perfil descri¸c˜ao

SERVIC¸ OS

cod servi¸co descri¸c˜ao tipo

1

(2)

REL USU ´ARIO PERFIL

cpf tutor cod perfil

REL PERFIL SERVIC¸ O

cod perfil cod servi¸co

REL TUTOR TUTELADO PERFIL SERVIC¸ OS

cpf tutor cpf tutelado cod perfil cod servi¸co

Quest˜ ao 2c: Ver notas de aula Quest˜ ao 3a:

CONS ESPEC←ESPECIALIDADE∗CONSULTA

CONS ORTO ENDO←σESPECIALIDADE=‘ORTODONTIA’ OR ESPECIALIDADE = ‘ENDODONTIA’(CONS SPEC) RESULT←ΠID PACIENTE(CONS ORTO ENDO)

{c.id paciente|consulta(c) AND (∃e) (especialidade(e) AND c.id dentista = e.id dentista AND (especialidade = ‘ortodontia’ OR especialidade = ‘endodontia’))}

{q|(∃i) (∃r) (∃h) (consulta(qrst) AND especialidade(hi) AND r = h AND (i = ‘ortodontia’ OR i = ‘endodontia’)}

SELECT DISTINCT id_paciente FROM consulta c, especialidade e

WHERE c.id_dentista = e.id_dentista AND (especialidade = ‘ortodontia’ OR

especialidade = ‘endodontia’)

Obs: Note que, se no enunciado da quest˜ ao, entre as especialidades fosse E no lugar de OU (caso da quest˜ ao 3b), a solu¸c˜ ao correta n˜ ao seria simplesmente trocar o OR por AND na quest˜ ao acima. Observe a solu¸c˜ ao correta abaixo.

Quest˜ ao 3b:

DENTISTA ORTO←ΠID DENTISTAESPECIALIDADE=‘ORTODONTIA’(ESPECIALIDADE)) DENTISTA ENDO←ΠID DENTISTAESPECIALIDADE=‘ENDODONTIA’(ESPECIALIDADE)) DENTISTA ORTO ENDO←DENTISTA ORTO∩DENTISTA ENDO

RESULT←ΠID PACIENTE(CONSULTA∗DENTISTA ORTO ENDO)

{c.id paciente|consulta(c) AND (∃e) (especialidade(e) AND e.id dentista = c.id dentista AND e.especialidade = ‘ortodontia’) AND (∃s) (especialidade(s) AND s.id dentista = c.id dentista AND s.especialidade = ‘endodontia’)}

{q|(∃r) (∃h) (∃i) (∃u) (∃v) (consulta(qrst) AND especialidade(hi) AND especialidade(uv) AND r = h AND r = u AND i = ‘ortodontia’ AND v = ‘endodontia’)}

SELECT DISTINCT id_paciente FROM CONSULTA

WHERE id_dentista IN ((SELECT id_dentista FROM especialidade e

WHERE especialidade = ‘ortodontia’) INTERSECT

(SELECT id_dentista FROM especialidade e

WHERE especialidade = ‘endodontia’))

2

(3)

Quest˜ ao 3c:

CONS PROC←CONSULTA∗PROCEDIMENTO RESULT←ΠCODIGO PROCEDIMENTO(CONS PROC)

{p.codigo procedimento|procedimento(p) AND (∃c) (consulta(c) AND c.id procedimento = p.id procedimento)}

{v|(∃t) (∃u) (procedimento(uvw) AND consulta(qrst) AND t = u)}

SELECT DISTINCT codigo_procedimento FROM consulta c, procedimento p

WHERE c.id_procedimento = p.id_procedimento

Quest˜ ao 3d:

CONS ESPEC←ESPECIALIDADE∗CONSULTA

RESULT(ESPECIALIDADE, CONTAGEM)←ESPECIALIDADE=COUNT ID PROCEDIMENTO(CONS ESPEC)

N˜ ao ´e poss´ıvel fazer em c´ alculo de tuplas e c´ alculo de dom´ınio.

SELECT especialidade, count(id_procedimento) FROM consulta c, especialidade e

where c.id_dentista = e.id_dentista AND id_procedimento IS NOT NULL group by (especialidade)

Obs: neste item, cada procedimento realizado por dentistas com mais de uma especialidade, deve ser contabilizado em todas as especialidades relacionadas.

Quest˜ ao 3e:

TODOS PROCS←ΠID PROCEDIMENTO(PROCEDIMENTO)

PROCS REALIZADOS←ΠID DENTISTA, ID PROCEDIMENTO(CONSULTA) DENTISTAS TODOSPROCS←PROCS REALIZADOS÷TODOS PROCS) RESULT←ΠNOME(DENTISTAS∗DENTISTAS TODOSPROCS)

{d.nome|dentista(d) AND (∀p) ((NOT (procedimento(p)) OR ((∃c) (consulta(c) AND c.id dentista = d.id dentista AND p.id procedimento = c.id procedimento)))}

{k|(∃j) (dentista(jk) AND ((∀u)((NOT(procedimento(uvw))) OR ((∃r) (∃t) (consulta(qrst) AND r = j AND u = t))))}

SELECT nome FROM dentista d

WHERE NOT EXISTS (SELECT *

FROM procedimento

WHERE id_procedimento NOT IN (SELECT id_procedimento FROM consulta c

WHERE c.id_dentista = d.id_dentista))

3

Referências

Documentos relacionados

Isto justifica alguns estudos que indicam que o cromo se encontra ancorado na superfície das peneiras moleculares através de uma reação de esterificação, deixando duas

(b) Para o sistema de v´ıdeo do item anterior, quantas cores distintas poderiam ser geradas se fosse implementada uma look-up table com 10 bits por palavra?. Quantas cores poderiam

O que se perde em t´ ecnicas baseadas em superf´ıcie (ex. Marching Cubes) e o que se perde em t´ ecnicas de visualiza¸c˜ ao volum´ etrica direta (ex... Use quantas linhas

2 Ex.: Uma solu¸c˜ ao cujo valor ´e positivo num valor de x, e negativo noutro; ou uma solu¸c˜ao que tem raiz (ou seja, sinal zero) num valor de x mas n˜ao ´e a solu¸c˜ao nula

Reescrever a EDP e as condi¸c˜oes homogˆeneas como dois proble- mas, um em x e um t e, ent˜ao, calcular a solu¸c˜ao formal da EDP submetida.. `as condi¸c˜oes

Os mintermos da forma normal disjuntiva (soma de minter- mos) s˜ao identificados atrav´es das palavras-c´odigo em que a fun¸c˜ao booleana tem valor 1. Pode-se fazer uma tabela

c) A  avaliação  por  ecodoppler  destina‐se  a  quantificar  a  gravidade  da  doença  e  deve  incluir  a  avaliação  da  presença  ou  ausência  de 

A microrregião deste grupo de maior participação no PIB real agropecuário de Minas Gerais foi Passos, com 1,89% do PIB agropecuário do estado em 2003, o que mostra que