Prova de Fundamentos de Bancos de Dados 2 a Prova



Documentos relacionados
Fundamentos de Bancos de Dados Prova 2

Prova de Fundamentos de Bancos de Dados 2 a Prova

Prova de Fundamentos de Bancos de Dados 2 a Prova

Prova de Fundamentos de Bancos de Dados 1 a Prova

Prova de Fundamentos de Bancos de Dados 2 a Prova

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

Prova de Fundamentos de Bancos de Dados 1 a Prova

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

Banco de dados Continuação das consultas em SQL... 3º trimestre Prof. Patrícia Lucas.

António Rocha Nuno Melo e Castro

Texto Base Livro texto: SQL Guia Prático 2ª Edição Rogério Luís de C. Costa. Banco de Dados II Comando Select. Gustavo Dibbern Piva

Prova de Fundamentos de Bancos de Dados 1 a Prova

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real.

Exercícios com o intuito de cobrar todos os assuntos vistos em sala, relativos à Modelagem Conceitual, SQL, PL e XML. 1ª ETAPA

Prova de Fundamentos de Bancos de Dados

Tarefa Orientada 14 Subconsultas

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Prova de Fundamentos de Bancos de Dados 1 a Prova

Projeto de Banco de Dados

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

Fundamentos de Bancos de Dados Prova 2

Prova de Fundamentos de Bancos de Dados 2 a Prova

Exercícios de Lógica Exercícios de Fixação 08

Consultas SQL Parte II

Linguagem de Consulta - SQL

Disciplina: Banco de Dados I Professor Sérgio Lifschitz BRAFITEC. Alunos: Rio de Janeiro, 11 de Outubro de 2015.

Comandos de Manipulação

Múltiplas Tabelas. Disciplina de Banco de Dados

Banco de dados 1. Linguagem DML SQL Select Avançado. Professor: Victor Hugo L. Lopes

Bem-vindo ao tópico sobre consultas no SAP Business One.

Memória de aula Aulas 11 e 12

Índice. Introdução Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais... 35

Banco de Dados - Senado

MODELO DE DADOS VS ESQUEMA

Structured Query Language (SQL) Aula Prática

Abordagem relacional Capítulo 4

Linguagem de Consulta - SQL

select nome from Médicos where codm in (select codm from Consultas where data = 06/06/13 )

Tarefa Orientada 13 Agrupamento e sumário de dados

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

Prova de Fundamentos de Bancos de Dados 2 a Prova

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si.

SQL Uma Visão mais Ampla

SQL UMA ABORDAGEM INTERESSANTE

Prof.: Clayton Maciel Costa

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO INF BANCO DE DADOS. Sistema de Gerenciamento de Banco de Dados para o CCCI

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

SQL DML. Frederico D. Bortoloti

PPGCA UTFPR Campus Curitiba. Mestrado Profissional em Computação Aplicada Exame de Seleção Turma Caderno de Questões

Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.

Linguagem SQL. Comandos Básicos

MANUAL DA SECRETARIA

BDII SQL Junção Revisão 8

Reforçando conceitos de SQL Estudo de Caso: Agenciamento de Corridas de Táxis

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

NOME SEXO CPF NASCIMENTO SALARIO

Estudo de Caso - Consultório VIVA_BEM 1- Escopo do Sistema:

Introdução em Banco de Dados

DESENVOLVIMENTO DE SOFTWARE

GladiusSimpleReport. Este manual, visa mostrar, como utilizar o GladiusSimpleReport atravéz de exemplos.

Prof. Daniela Barreiro Claro

Projeto e Implementação

Banco de Dados I Módulo V: Indexação em Banco de Dados. (Aulas 4) Clodis Boscarioli

Fundamentos de Bancos de Dados Prova 3

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados

SQL. Introdução. Por que SQL? Setenças Select-From-Where

PARECER CREMEC N.º 26/ /09/2012

EXEMPLOS DE COMANDOS NO SQL SERVER

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (

Prova de Fundamentos de Bancos de Dados 2 a Prova

ingressos, sobrará troco? ( ) sim ( ) não Se sobrar troco, de quanto será?

PROGRAMA. Objectivos Gerais :

Olimpíada Brasileira de Raciocínio Lógico Nível III Fase I 2014

Núcleo de Pós Graduação Pitágoras

1.264 Aula 7. Introdução ao SQL

Enunciado do Projecto

f. Vocês podem selecionar todos os campos indicando-os, ou seja, sem usar * (boa prática) g. Muito relevante na manutenção de BD e de aplicações.

Introdução ao SQL Avançado

Bases de Dados 2005/2006. Aula 5

Bases de Dados 2007/2008 Exame

Programação SQL. INTRODUÇÃO II parte

SQL DML CONSULTAS ENVOLVENDO MAIS DE UMA TABELA

Manipulando Strings no VBA (Replace, Mid e InStr)

Ludwig Consultorias. Rua Francisco Jacinto de Melo. Bairro Areias. São José SC (48) Página 1

SUBCONSULTAS E TIPOS DE JUNÇÃO. Banco de Dados Profa. Ana Paula Wauke

José Antônio da Cunha CEFET - RN. José Antônio - CEFET-RN

BANCO DE DADOS I. Exercícios

SQL. Prof. Márcio Bueno.

ANÁLISE E PROJETO DE BANCO DE DADOS

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

1. SQL Instrumental Select Delete Update Insert Group by Having Unnion All...

BANCO DE DADOS II LINGUAGEM SQL - STRUCTURED QUERY LANGUAGE. Prof.: Elvis Bloemer Meurer

SQL (Structured Query Language)

TRABALHO DE BANCO DE DADOS POSTGRES MINI-MUNDO: BD PARA GERENCIAMENTO DE UNIDADES DE CONSERVAÇÃO

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Transcrição:

Prova de Fundamentos de Bancos de Dados 2 a Prova Prof. Carlos A. Heuser Junho de 2009 Prova com consulta duas horas de duração Considere a base de dados abaixo (base de dados idêntica a da 1 a prova. Esta base de dados é usada para gerência de clínicas médicas. /* tabela de clínicas médicas */ Clinica(CodCli,NomeCli,LocalCli /* tabela de médicos */ Medico(CodMed,NomeMed,CodEspeci CodEspeci referencia Especialidade /* tabela que relaciona médicos a clínicas */ ClinicaMedico(CodCli,CodMed CodCli referencia Clinica, CodMed referencia Medico /* tabela coma agenda das consultas dos médicos */ AgendaConsulta(CodCodCli,CodMed,Data,Hora (CodCli,CodMed referencia ClinicaMedico /* tabela com as especialidades que os médicos podem ter - para cada especialidade, pode ser indicada uma especialidade mais genérica (por exemplo cirurgia geral pode ser uma especialidade mais genérica que cirurgia pediátrica ; isto é indicado pela coluna CodEspeciGenerica*/ Especialidade(CodEspeci,Nome,CodEspeciGenerica CodEspeciGenerica referencia Especialidade 1

1. (Peso 1,25 Sobre a base de dados acima, resolver a seguinte consulta usando cálculo relacional: Obter os códigos dos médicos que atuam em todas clínicas cadastradas no banco de dados (se a base de dados não contiver nenhuma clínica, todos médicos devem aparecer no resultado. {r } c Clinica ( cm ClinicaMedico ( cm.codcli=c.codcli cm.codmed=r.codmed 2. Sobre a base de dados acima, resolver as consultas abaixo usando SQL: 2.a (Peso 1,25 Obter os códigos e nomes dos médicos que não atuam em nenhuma clínica. SELECT CodMed, NomeMed EXCEPT (SELECT CodMed, NomeMed NATURAL JOIN ClinicaMedico ou SELECT CodMed, NomeMed CodMed NOT IN (SELECT CodMed FROM ClinicaMedico ou 2

SELECT CodMed, NomeMed NOT EXISTS (SELECT * FROM ClinicaMedico CodMed = Medico.CodMed ou SELECT CodMed, NomeMed LEFT NATURAL JOIN ClinicaMedico ClinicaMedico.cODcLI IS NULL 3

2.b (Peso 1,25 Obter uma tabela contendo as seguintes colunas: i. Código e nome de cada especialidade; ii. código e nome de cada médico que atua nesta especialidade (se a especialidade não tiver médicos, estas colunas devem aparecer em branco; iii. código e nome de cada clínica em que atua o médico (se o médico não atua em nenhuma clínica, estas colunas devem aparecer vazias. SELECT Especialidade.CodEspci,, Medico.CodMed, Medico.NomeMed, Clinica.CodCli, Clinica.NomeCli FROM Especialidade Medico ClinicaMedico Clinica 2.c (Peso 1,25 Obter uma tabela com duas colunas: i. Nome de uma especialidade mais genérica, seguida de ii. nome de uma especialidade mais específica (apenas se houver uma especialidade mais específica para a especialidade em questão. A tabela não deve ser recursiva, ou seja apenas um nível de relacionamento deve aparecer. SELECT EspecialidadeGenerica.Nome, EspecialidadeEspecifica.Nome FROM Especialidade as EspecialidadeGenerica, Especialidade as EspecialidadeEspecifica, EspecialidadeEspecifica.CodEspeciGenerica= EspecialidadeGenerica.CodEspeci 4

2.d (Peso 1,25 Mesmo enunciado que a questão 1 Obter os códigos dos médicos que atuam em todas clínicas cadastradas no banco de dados (se a base de dados não contiver nenhuma clínica, todos médicos devem aparecer no resultado. SELECT Medico.CodMed, NOT EXISTS ( SELECT * FROM Clinica NOT EXISTS ( SELECT * FROM ClinicaMedico Clinica.CodCli = ClinicaMedico.CodCli AND Medico.CodMed = ClinicaMedico.CodMed 2.e (Peso 0,625 Obter o número de clínicas que têm uma localidade informada. SELECT COUNT (LocalCli FROM Clinica 2.f (Peso 0,625 Obter o número de clinicas que têm pelo menos um médico. SELECT COUNT (DISTINCT CodCli FROM ClinicaMedico 2.g Para cada especialidade, obter: i. O código e o nome do especialidade, seguido do ii. número de médicos que atuam na especialidade. Resolver esta consulta considerando duas variantes: i. (Peso 1,25 Mesmo especialidades nas quais não aparecem médicos devem aparecer no resultado. SELECT Especialidade.CodEspeci, COUNT (CodMed AS NoDeMedicos FROM Especialidade Medico GROUP BY Especialidade.CodEspeci, 5

ii. (Peso 1,25 Apenas as especialidades com mais que trinta médicos devem aparecer no resultado. SELECT Especialidade.CodEspeci, COUNT (* AS NoDeMedicos FROM Especialidade NATURAL JOIN Medico GROUP BY Especialidade.CodEspeci, HAVING COUNT (* > 30 6