1º Teste Sem consulta

Documentos relacionados
Época de Recurso Sem consulta

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011

Exame de Base de Dados Época Normal - 15 de Janeiro de 2013

Rápida revisão do Modelo Relacional

Álgebra Relacional e SQL

SQL (Tópicos) Structured Query Language

Banco de Dados 1 2º Semestre

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

ANÁLISE E PROJETO DE BANCO DE DADOS

Sumário SELECT + FROM

Comandos de Manipulação

SQL - Perguntas. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

Figura 1. Figura 2. Prova Escrita de Base de Dados 5 Novembro V2 Número do Aluno: Nome do Aluno: 1º Teste (90 Minutos)

Programação em Banco de dados

Revisão de Bancos de Dados

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

A U L A 8 C O N S U L T A S U N I N D O D U A S O U M A I S T A B E L A S P A R T E 2

Bases de Dados 2008/2009

Modelo Entidade-Relacionamento (E-R)

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

BCD29008 Banco de dados

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva.

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

Sistemas de Bases de Dados Relacionais Introdução ao SQL. Interrogações diversas sobre a Base de Dados Northwind - Parte II

Banco de Dados. José Antônio da Cunha CEFET RN

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

Aplicações - SQL. Banco de Dados: Teoria e Prática. André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013

Introdução ao PostgreSQL

Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

MATA60 BANCO DE DADOS Aula 10- Indexação. Prof. Daniela Barreiro Claro

Á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:

Exame de 1ª Época Introdução à Programação IGE e ETI 2003/02/25-1º semestre de 2002/2003 ISCTE

SQL. Prof. Roger Cristhian Gomes

Disciplina: Banco de Dados I Professora: Ms. Márcia Jani. Trabalho de BD1

Bases de Dados 2005/2006. Aula 5

BDII SQL Junção Revisão 8

Linguagem de Consulta - SQL

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

DML - SELECT JUNÇÕES (JOIN)

Linguagem SQL. Comandos Básicos

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

MATA60 BANCO DE DADOS Aula: Otimização. Prof. Daniela Barreiro Claro

Bases de Dados 2015/2016. Enunciado do Projeto Parte 2. O trabalho a desenvolver para a primeira parte do projeto consiste nos seguintes itens:

Prova de Fundamentos de Bancos de Dados 1 a Prova

Introdução ao SQL. Aécio Costa

Introdução a Bancos de Dados

Bases de Dados. Junção de relações. Junção de relações

Dependências Funcionais e Formas Normais. Formas Normais Pedro Sousa 1

Subconsulta na Cláusula FROM

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

SQL (Structured Query Language)

Prova de Fundamentos de Bancos de Dados 1 a Prova

Page 1. Prof. Constantino Jacob

INNER, CROSS, LEFT, RIGHT E FULL JOINS SIMPLES ASSIM! Wellyngton Luiz Cruz Moreira wlcmoreira@hotmail.com

UNIVERSIDADE FEDERAL FLUMINENSE PÓLO UNIVERSITÁRIO DE RIO DAS OSTRAS FACULDADE FEDERAL DE RIO DAS OSTRAS CURSO DE CIÊNCIA DA COMPUTAÇÃO

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

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

MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

Planificação Anual. Departamento Expressões e Tecnologias

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;

Tarefa Orientada 12 Junção Externa, Auto-Junção e União

Prova de Fundamentos de Bancos de Dados 2 a Prova

BANCO DE DADOS I. Exercícios

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I

Introdução à Manipulação de Dados

Linguagem SQL Parte I

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

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003

Banco de dados. Aula 22 O Comando SELECT. 1 Wedson Quintanilha da Silva -

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Linguagem SQL (Parte I)

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

Correção da 1a Prova de GBD1 2010/1. Profa. Sandra de Amo

Triggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL

Ordenação de tuplos order by

Conceitos SQL SQL 19/03/2017 O que é dado? O que é BD? O que é uma informação? O que é SGBD? O que é SQL? O que é BD? O que é SGBD?

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL

SQL (com MySQL) Apresentação OBJETIVOS. Programação

Prova de Fundamentos de Bancos de Dados 2 a Prova

ÁLGEBRA E CÁLCULO RELACIONAL

Parte I (correspondente à matéria do 1º teste)

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

Utilizando o Postgres - comandos SQL para a manipulação de dados

Uma breve introdução a Bases de dados

BCD29008 Banco de dados

Importar e Exportar Dados

L Q S m e g a u g n Li A

BCD29008 Banco de Dados

Fundamentos do Sistema Gerenciador de Banco de Dados

Parte I (correspondente à matéria do 1º teste)

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

Bases de Dados 2007/2008 Exame

Sintaxe do comando SELECT

PHP INTEGRAÇÃO COM MYSQL PARTE 1

TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

Transcrição:

Bases de Dados 2013/14 12/Abril/14 10:00 Duração: 2h 1º Teste Sem consulta Leia com atenção a informação constante desta página, enquanto espera a indicação do docente para começar a resolução do teste. Este enunciado é composto por: Uma Folha de Rosto (esta) Uma Folha de Respostas Cinco Páginas de Perguntas Cinco Páginas de Rascunho O teste é composto por dois grupos de perguntas: GRUPO I: Composto por 4 perguntas de resposta curta valendo 8 valores no total. GRUPO II: Composto por 10 perguntas de escolha múltipla valendo 12 valores no total. GRUPO I: A simplicidade e clareza das respostas neste grupo contarão na avaliação. Poderá inclusivamente ter uma cotação de 0 valores numa pergunta se a sua solução for muito mais complicada do que o necessário. Todas as perguntas deste grupo têm aproximadamente a mesma cotação. GRUPO II: Cada pergunta tem um número variado de respostas possíveis, onde apenas uma está correcta. Cada resposta correcta vale 1,2 valores. As respostas incorrectas descontam, de forma progressiva, de acordo com a seguinte regra: o Se errar n>0 respostas, terá um desconto de ( 0, 2k 0,1) n k = 1 valores. o Ou seja a 1ª resposta errada desconta 0,1 valores, a 2ª resposta errada desconta 0,3 valores (num total de 0,4 valores de desconto) a 3ª resposta errada desconta 0,5 valores (num total de 0,9 valores de desconto) a 4ª resposta errada desconta 0,7 valores (num total de 1,6 valores de desconto) a 5ª resposta errada desconta 0,9 valores (num total de 2,5 valores de desconto)... A cotação mínima no GRUPO II é de 0 valores. Preenchimento: Todas as respostas deverão ser dadas na folha de respostas fornecida. As zonas sombreadas da folha de respostas não deverão ser preenchidas. Para contribuir para a legibilidade da folha de respostas, minimizando rasuras, agradece-se a utilização do espaço de rascunho fornecido (quer ao longo do enunciado, quer no fim do mesmo) antes de escrever a resposta final na folha de respostas. No fim de 2 horas de teste os docentes recolherão apenas a folha de respostas. Aconselha-se que veja todas as perguntas do teste antes de começar a sua resolução, para melhor planear a estratégia de resolução. Tem aproximadamente 8 minutos e 30 segundos por pergunta pelo que não deve demorar demasiado tempo em cada uma. Boa Sorte!

12/Abr/2014 10:00 Bases de Dados Folha de Respostas DI/FCT/UNL, 1º Teste, 2013/14, Duração: 2h Teste: adbadca Nome: I.1 PARTE I Número: I.2 I.3 I.4 PARTE II II.1 II.2 II.3 II.4 II.5 II.6 II.7 II.8 II.9 II.10

GRUPO I Considere a seguinte base de dados que armazena informação sobre os resultados de umas eleições (onde os atributos da chave primária de cada relação estão sublinhados): partidos({sigla,nomep}) pessoas({bi,nome,sigla}) distritos({idd,nomed}) freguesias({idf,nomef,idd,bi}) candidatos({bi,ordem}) resultados({sigla,idf,votos}) A relação partidos guarda a informação sobre os vários partidos políticos, tendo para cada um informação sobre a sua sigla e nome. A relação pessoas guarda a informação sobre os vários políticos tendo, para cada um, informação sobre o seu BI, nome e partido político. A relação distritos guarda a informação sobre os vários distritos tendo, para cada um, informação sobre o seu identificador e nome. A relação freguesias guarda a informação sobre as várias freguesias tendo, para cada uma, informação sobre o seu identificador, nome, distrito a que pertence, e BI do seu presidente da junta. A relação candidatos guarda a informação sobre os vários candidatos às eleições tendo, para cada um, o seu número de ordem. Finalmente, a relação resultados guarda a informação sobre os votos obtidos pelos vários partidos em cada freguesia à qual se apresentaram a eleição. Apresente consultas em SQL correspondentes a cada uma das expressões das seguintes duas alíneas: I.1. Quais os partidos (sigla e nome) que detêm a presidência de alguma junta de freguesia no distrito de Coimbra? Cada partido deve aparecer apenas uma vez. I.2. Qual o resultado geral da eleição? A consulta deve apresentar uma lista de partidos (sigla, nome e total de votos) ordenados de acordo com o total de votos obtidos no país, começando pelo vencedor. Apresente consultas em Álgebra Relacional correspondentes a cada uma das expressões das seguintes duas alíneas: I.3. Quais os partidos (sigla e nome) que se apresentaram às eleições em todas as freguesias? I.4. Quais as freguesias (identificador e nome) onde houve pelo menos dois partidos com o mesmo número de votos? Espaço de rascunho:

GRUPO II II.1. Queremos guardar informação relativa a projectos de investigação submetidos para financiamento. Estes projectos servem para promover a colaboração entre os vários centros de investigação existentes, e seus membros. Assim, em cada projecto participam, em colaboração, vários centros de investigação, podendo cada centro participar em mais do que um projecto. Cada projecto é liderado por uma pessoa, e cada pessoa pertence a um centro de investigação. De acordo com as regras do programa de financiamento em questão, não é possível que uma pessoa lidere mais do que um projecto. Qual dos seguintes diagramas ER (onde os atributos são omitidos) melhor modela a situação descrita? A) B) C) D) E) F) G) H) I) J) K) L) M) N) O) P) Q) R)

II.2. Considere o seguinte diagrama de entidades e relações: e 2 Ent4 e 4 Ent2 ISA Ent5 e5 Ent1 ISA e 1 e3 Ent3 R4 Ent6 e 6 e7 Quantos atributos tem a relação correspondente ao conjunto de relações, obtida através da conversão do Modelo de Entidades e Relações para o Modelo Relacional apresentada nas aulas? (A) 1 (B) 2 (C) 3 (D) 4 (E) 5 (F) 6 (G) 7 (H) 8 (I) 9 (J) 10 (K) 11 (L) 12 II.3. Considere a tabela R criada com o seguinte comando SQL: CREATE TABLE R(a INT, b INT, c INT); e a seguinte instância: R: a b c 1 9 NULL 2 NULL 18 3 20 16 Considere a seguinte consulta Q:: Q: SELECT a FROM R WHERE (b>c AND c>15 AND b>18) OR (b<10) Qual o resultado da consulta? (A) {} (F) {(1),(3)} (B) {(1)} (G) {(2),(3)} (C) {(2)} (H) {(1),(2),(3)} (D) {(3)} (I) {(NULL)} (E) {(1),(2)} (J) {(NULL),(1)} (K) {(NULL),(2)} (L) {(NULL),(3)} (M) {(NULL),(1),(2)} (N) {(NULL),(2),(3)} (O) {(NULL),(1),(3)} (P) {(NULL),(NULL),(1)} (Q) {(NULL),(NULL),(2)} (R) {(NULL),(NULL),(3)} (S) {(NULL),(NULL),(NULL)} (T) A consulta dá um erro. II.4. Considere a relação R(A,B,C,D), onde os atributos tomam valores inteiros, e a seguinte consulta: SELECT [###] FROM R GROUP BY A, B; Quais das seguintes expressões podem aparecer na posição indicada por [###]? I. MIN(C+D) II. A,B III. C,D (J) (K) Nenhuma Apenas I (L) (M) Apenas II Apenas III (N) (O) Apenas I e II Apenas I e III (P) (Q) Apenas II e III Todas

II.5. Considere as relações R(a,b), S(a,b) e T(b,c), e as consultas Q1 e Q2: R: a b S: a b T: b c 0 1 0 1 0 1 0 2 0 2 1 3 1 7 7 10 1 4 7 3 Q1: r s t Q2: r s t Qual o número de tuplos de Q1 e Q2 respectivamente? (A) 2 e 2 (F) 2 e 7 (K) 3 e 5 (P) 3 e 10 (B) 2 e 3 (C) 2 e 4 (G) 2 e 8 (H) 2 e 9 (L) 3 e 6 (M) 3 e 7 (Q) 4 e 4 (R) 4 e 5 (D) 2 e 5 (I) 3 e 3 (N) 3 e 8 (S) 4 e 6 (E) 2 e 6 (J) 3 e 4 (O) 3 e 9 (T) 4 e 7 (U) 4 e 8 (V) 4 e 9 (W) 4 e 10 (X) 4 e 11 (Y) 4 e 12 II.6. Considere a tabela criada com o seguinte comando SQL: CREATE TABLE R( a INT NOT NULL PRIMARY KEY, b INT NOT NULL); Considere as seguintes consultas: Q1: SELECT b FROM R WHERE b >= SOME (SELECT b from R); Q2: SELECT b FROM R as WHERE b > ALL (SELECT b FROM R as WHERE.a <>.a); Q3: SELECT max(b) AS b FROM R; Qual das seguintes frases é verdadeira? (V) Q1 e Q2 e Q3 são todas equivalentes. (W) Q1 e Q2 são equivalentes; Q3 pode produzir uma resposta diferente nalgumas instâncias de R. (X) Q1 e Q3 são equivalentes; Q2 pode produzir uma resposta diferente nalgumas instâncias de R. (Y) Q2 e Q3 são equivalentes; Q1 pode produzir uma resposta diferente nalgumas instâncias de R. (Z) Q1, Q2 e Q3 podem todas produzir respostas diferentes nalgumas instâncias de R. II.7. Considere as relações r(a,b) e s(c,d). Qual das seguintes igualdades é verdadeira? (E) r ρ!!,! s = ρ!!,! s ρ!!,! r (F) σ!!!!,! r s = σ!!! r (G) σ!!! r s = r ρ!!,! s (H)!,! r σ!!! ρ!!,! s =! σ!!! r! σ!!! ρ!!,! s (I) Nenhuma das anteriores (i.e. são todas falsas) II.8. Considere duas relações arbitrárias r e s, e as consultas Q1: SELECT * FROM (r NATURAL FULL OUTER JOIN s) UNION (r NATURAL INNER JOIN s); Q2: SELECT * FROM (r NATURAL LEFT OUTER JOIN s) UNION (r NATURAL RIGHT OUTER JOIN s); Qual das seguintes frases é verdadeira? (A) Q1 e Q2 produzem sempre a mesma resposta. (B) A frase (A) não é verdadeira e a resposta a Q1 está sempre contida na resposta a Q2. (C) A frase (A) não é verdadeira e a resposta a Q2 está sempre contida na resposta a Q1. (D) Nenhuma das anteriores.

II.9. Considere a tabela criada com o seguinte comando SQL: CREATE TABLE R( a INT NOT NULL, b INT NOT NULL), e a seguinte consulta: SELECT rr.a, rr.b, ss.a, ss.b FROM R rr, R ss WHERE rr.a = ss.a AND rr.b = ss.b; Suponha que R contém n tuplos (não necessariamente distintos). Seja m o número de tuplos (não necessariamente distintos) no resultado da consulta. Qual das seguintes condições, estando correcta, é mais restritiva sobre os limites de m? (V) n m n 2. (W) n m 2n. (X) 0 m n. (Y) m = n. II.10. Considere a relação R(A) contendo os seguintes 19 tuplos: (2),(3),(4),(4),(5),(6),(6),(7),(9),(9),(10),(12),(13),(13),(15),(15),(16),(20),(25) e a seguinte consulta: WITH RECURSIVE misterio(x,y) AS (SELECT A as X, A as Y FROM R) UNION (SELECT m1.x, m2.y FROM misterio m1, misterio m2 WHERE m2.x = m1.y + 1) SELECT MAX(Y-X) + 1 FROM misterio Qual o resultado da consulta? (Dica: em vez de executar a consulta com os elementos de R, poderá tentar perceber o que a consulta devolve, e depois aplicar o que descobriu aos elementos de R.) (A) 1 (B) 2 (C) 3 (D) 4 (E) 5 (F) 6 (G) 7 (H) 8 (I) 9 (J) 10 (K) 11 (L) 12 (M) 13 (N) 14 (O) 15 (P) 16 (Q) 17 (R) 18 (S) 19 (T) 20 (U) 21 (V) 22 (W) 23 (X) 24 FIM Espaço de rascunho:

Espaço de rascunho:

Espaço de rascunho:

Espaço de rascunho:

Espaço de rascunho:

Espaço de rascunho: