UNIVERSIDADE FEDERAL DE. Programa de Mestrado em Ciência da



Documentos relacionados
Disciplina : Gerência de Banco de Dados Semestre Professora : Sandra de Amo. Lista de Exercícios 4 - Consultas SQL

Faculdade de Computação

Prova de Fundamentos de Bancos de Dados 2 a Prova

Com base nos slides vistos em sala de aula resolva os seguintes exercícios:

CAPÍTULO 2. Grafos e Redes

Álgebra Relacional. OBS: as operações Seleção e Projeção são operações unárias porque atuam em relações únicas.

Universidade da Beira Interior Cursos: Engenharia Informática, Ensino da Informática, Matemática Aplicada e Matemática /Informática

b) a 0 e 0 d) a 0 e 0

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura Exemplo de um grafo linear.

Lógica de Predicados

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados

Dependências Funcionais

Lista de exercícios: Funções de 1ºgrau Problemas Gerais Prof ºFernandinho. Questões:

da aula prática 8 de Bases de Dados

DIAGRAMA DE ATIVIDADES

Sobre a atividade. Quais objetivos tenho que alcançar? Posso usar a atividade em outro momento?

BANCO DE DADOS I AULA 6. Wlllamys Araújo willamysaraujo7@gmail.com

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

MINISTÉRIO DA CULTURA

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

Gravando Dados e Cópias de CD s com o Nero 6.0 Disciplina Operação de Sistemas Aplicativos I

Sistema de Reserva de Laboratório Trabalho Semestral Versão 1.0

QUANTIFICADORES. Existem frases declarativas que não há como decidir se são verdadeiras ou falsas. Por exemplo: (a) Ele é um campeão da Fórmula 1.

Os botões padrões são encontrados na parte superior esquerda da aplicação. O primeiro botão Portal leva o colaborador à página inicial do Qualitor.

Matemática. O coeficiente angular dado pelo 3º e 4º pontos é igual ao coeficiente angular dado pelo 1º e 3º. Portanto:

Raciocínio Lógico para o INSS Resolução de questões Prof. Adeilson de melo REVISÃO 01 - conjuntos e porcentagens

Fundamentos de Bancos de Dados Prova 2

Faculdades Anhanguera

PESQUISA OPERACIONAL -OTIMIZAÇÃO COMBINATÓRIA PROBLEMAS DE OTIMIZAÇÃO EM REDES. Prof. Angelo Augusto Frozza, M.Sc.

MATRIZES ADIÇÃO E SUBTRAÇÃO DE MATRIZES

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

Cadastro de Usuários e Agendamento de Consultas

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

Bancos de Dados Exercícios de Modelagem Entidade Relacionamento

Normalização de Esquemas de Banco de Dados. Prof. Carlos Bazilio

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01

FUNÇÕES E INEQUAÇÕES

EXERCÍCIOS DE RECUPERAÇÃO- MATEMÁTICA 6º ANO-PROFA. M.LUISA-2º BIMESTRE MÚLTIPLOS, DIVISORES, FATORAÇÃO, MDC.MMC,PROBLEMAS

Memória cache. Prof. Francisco Adelton

Manual para acesso às disciplinas na modalidade EAD

Casos de Uso. Professor MSc Wylliams Barbosa Santos wylliams.wordpress.com Laboratório de Programação

ORIENTAÇÕES PARA O PREENCHIMENTO DO QUESTIONÁRIO POR MEIO DA WEB

AV1 - MA (b) Se o comprador preferir efetuar o pagamento à vista, qual deverá ser o valor desse pagamento único? 1 1, , , 980

COLÉGIO NOSSA SENHORA DA PIEDADE. Programa de Recuperação Paralela. 1ª Etapa Ano: 7º Turma: 7.1

SESSÃO 3: Criando Metas Atingíveis

Prof. Me. Marcos Echevarria

Definição. de solução de um problema passo-a-passo. Representa a lógica l. passo.

MANUAL DO USUÁRIO PORTAL DO PROFESSOR

Modelagem de Dados. Aula 04 Introdução ao Modelo Entidade- Relacionamento. Maxwell Anderson

Senhor Embaixador, Acuso recebimento da Nota n 298 de Vossa Excelência, cujo teor, em português, é o seguinte:

O planejamento do projeto. Tecnologia em Gestão Pública Desenvolvimento de Projetos Aula 8 Prof. Rafael Roesler

Programação em papel quadriculado

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

Telemarketing - Completo

Modelagem de dados usando o modelo BANCO DE DADOS 1º TRIMESTRE PROF. PATRÍCIA LUCAS

1) (VALE 2 PONTOS) Esta questão envolve conhecimentos de sintaxe e semântica da lógica proposicional clássica.

Microsoft Access INTRODUÇÃO. Sumário INTRODUÇÃO INTRODUÇÃO INTRODUÇÃO INTRODUÇÃO. O que é Banco de Dados?

Criando campanhas e gerando pedidos de venda com o Telemarketing

LIBERAÇÃO DE ATUALIZAÇÃO CORDILHEIRA

Cálculo em Computadores trajectórias 1. Trajectórias Planas. 1 Trajectórias. 4.3 exercícios Coordenadas polares 5

Leia estas instruções:

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

Trabalho Computacional

DATA: / / 2014 ETAPA: 3ª VALOR: 20,0 pontos NOTA:

Astra LX Frases Codificadas Guia para o processo de Configuração de Frases Codificadas no Programa AstraLX.

Programação: Estruturas de seleção

Densímetro de posto de gasolina

Lista de Exercícios Tratamento de Incerteza baseado em Probabilidade

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

NOME: Nº. ASSUNTO: Recuperação Final - 1a.lista de exercícios VALOR: 13,0 NOTA:

MATEMÁTICA PROVA DO VESTIBULAR ESAMC RESOLUÇÃO E COMENTÁRIO DA PROFA. MARIA ANTÔNIA GOUVEIA. 26. A expressão numérica ( ) RESOLUÇÃO:

Sumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto

Trabalho Computacional 2. Aplicativo para Gestão Financeira. Grupos: Os trabalhos devem ser feitos individualmente ou em duplas.

Seção Técnica de Ensino 2/8

OBJETIVO VISÃO GERAL SUAS ANOTAÇÕES

O sinal de menos ( ) colocado antes de um número indica o oposto desse número. Assim: 11 é o oposto de 11.

Canguru sem fronteiras 2007

Tecnologia da Informação Prof. Mário Henrique de Souza Pardo Resumo Aula 4

Escolha do tópico: TRANSFUSÃO SANGUÍNEA / DOAÇÃO DE SANGUE / SISTEMA ABO E RH.

UNIVERSIDADE PAULISTA CURSO SUPERIOR DE TECNOLOGIA. Projeto Integrado Multidisciplinar I e II

Exercícios Diagrama de Casos de Uso. Disciplina: Engenharia de Requisitos

Calculando RPM. O s conjuntos formados por polias e correias

Manual MQS. Logo após colocar essas informações abrirá a página inicial do sistema:

Sistema Acadêmico da Universidade Estadual Vale do Acaraú Módulo Aluno

Aula 06. Discos e Drives

Aula 3 SBD Modelo Entidade Relacionamento Parte 1. Profa. Elaine Faria UFU

Processo: Vendas Lista de casamento

VERSÃO VERSÃO FINANCEIRO NEFRODATA ESTOQUE FINALIZAÇÃO: 10 JUN.

Manual do Usuário. Protocolo

Sistema de Controlo de Entrada de Viaturas SCEV

Prof. Daniela Barreiro Claro

Exercícios Adicionais

PROVA DISCURSIVA - PROFISSIONAL BÁSICO (FORMAÇÃO DE ANÁLISE DE SISTEMAS - DESENVOLVIMENTO) 2 a FASE

Sistemas de Apoio à Decisão

1) Todos os dados devem ser digitados em MAIÚSCULA;

Abordagem relacional Capítulo 4

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Aula 5 - Parte 1: Funções. Exercícios Propostos

Tipos de Dado Abstrato: Listas, Filas e Pilhas

Transcrição:

UNIVERSIDADE FEDERAL DE UBERLÂNDIA Programa de Mestrado em Ciência da Computação Álgebra Relacional Disciplina : Sistema de Bancos de Dados - 1 0 Semestre 2009 Professora : Sandra Aparecida de Amo Lista de Exercícios n o 1 1. Considere a seguinte declaração do modelo relacional contendo informações sobre a programação cinematográfica da cidade de Uberlândia no ano de 1995 : FILME(TITULO,DIRETOR,ATOR,GENERO,ANO) SALA(NomeS,END,TEL) PROGRAMAÇÃO(CodP, NomeS,TITULOF,DIA,HORA) Dê a expressão da álgebra relacional correspondente às seguintes consultas a este banco de dados. Descreva também a árvore correspondente à expressão: (a) Quais os atores que trabalharam sob a direção de Steven Spielberg? (b) Quais os filmes anunciados na Sala 3 que não estão anunciados na sala 2? (c) Quais os filmes cujo ano de produção é anterior à 1960 e que estão passando no dia 3/5/95? (d) Quais os pares de atores que trabalharam no mesmo filme? (e) Quais os filmes com Woody Allen como ator ou diretor? (f) Quais os filmes com Leonardo de Caprio que não passaram em Uberlândia em 1995? (g) Dê os nomes das salas de cinema que exibiram todos os filmes de Leonardo de Caprio que sairam entre 1996 e 1997. 2. Considere a seguinte declaração do modelo relacional contendo informações sobre produtos vendidos numa loja de informática: 1

Produto(Fabr, Modelo, Tipo) PC(Modelo, Velocidade,Ram, HD, CD, Preço) Laptop(Modelo, Velocidade, Ram, HD, Tela, Preço) Impressora(Modelo, Cor, Tipo, Preço) Para cada uma das consultas abaixo, dê uma expressão SQL e uma expressão da álgebra relacional que realize a consulta: (leia a seção 5.3 do livro First Course in Databases Systems ). (a) Quais os fabricantes de PC com velocidade de pelo menos 160. (b) Quais os modelos de impressora que custam mais caro? (c) Dê o modelo de produto (PC, laptop ou impressora) correspondente ao preço mais alto. (d) Encontre os nomes dos fabricantes de impressora colorida mais barata. (e) Encontre os nomes do fabricantes que produzem impressora e também produzem PCs com o mais rápido processador e com o menor quantidade de RAM. Cálculo Relacional 3. Para cada uma das expressões da álgebra relacional encontradas nos dois exercicios precedentes dê uma consulta do cálculo relacional correspondente. 4. Mostre que todas as expressões do cálculo relacional encontradas no item anterior são fórmulas seguras. DATALOG 5. Para cada uma das consultas dos dois exercícios precedentes construa um programa DAT- ALOG que responde a esta consulta. Mostre que cada programa DATALOG que você construiu é não-recursivo (analisando seu grafo de dependência) 6. Considere o seguinte esquema de bancos de dados : Voo(Nvoo, Origem, Destino,Partida, Chegada) Escreva as seguintes consultas em Datalog. Para cada um dos programas encontrados, diga se é recursivo ou não. (a) Encontre todos os números de vôos originando de Miami. (b) Encontre todos os números de vôos que saem de Chicago depois que o vôo 101 chegue em Chicago, mas não mais do que uma hora depois que este vôo 101 chegue a Chicago. 2

(c) Encontre todos os números de vôos que não saem de Chicago. (d) Encontre todas as cidades que é possível alcançar a partir de Chicago fazendo uma conexão em Detroit (podem haver outras conexões, eventualmente). (e) Encontre todas as cidades que é possível alcançar a partir de Chicago por vôo direto ou por uma ou mais conexões, tal que não se gaste mais de uma hora esperando durante a conexão (isto é, cada vôo de conexão deve partir no máximo uma hora depois da chegada do vôo precedente). (f) Encontre o menor tempo de vôo entre Chicago e New York, através de uma ou mais conexões. (g) Encontre o número de todos os vôos que não partem de Chicago ou de uma cidade que é possível alcançar a partir de Chicago por vôo direto ou por uma ou mais conexões. 7. Para cada programa Datalog não recursivo encontrado no item anterior, construa a expressão da álgebra relacional equivalente. Utilize o algoritmo visto em sala de aula, para isto. 8. Para cada um dos programas Datalog recursivos encontrados no item precedente, diga se é estratificado ou não (através da análise de seu grafo de dependência), e em caso afirmativo, exiba os estratos do programa. 9. Considere a seguinte instância sobre a relação Voos. NVoo Origem Destino Partida Chegada 105 Chicago Pittsburgh 8:00 9:15 104 Chicago Detroit 8:50 9:30 107 Detroit New York 11:00 12:30 109 Pittsburgh Nova York 10:00 12:00 205 Chicago Las Vegas 14:00 17:00 101 Los Angeles Chicago 5:30 7:30 201 Las Vegas Tucson 17:40 19:00 210 Tucson Albuquerque 19:30 20:30 310 Dallas Albuquerque 9:30 11:00 325 Los Angeles Dallas 6:15 8:15 425 Albuquerque Los Angeles 21:30 23:00 Encontre a resposta da consulta (d) do exercicio (6) sobre este banco de dados. Descreva com detalhes o cálculo da resposta desta consulta utilizando: (a) O método do ponto fixo (b) O método da resolução 10. Dê as expressões de SQL3 correspondentes às consultas recursivas do exercicio (6). 11. Considere a relação Filme-Sequencia(filme, seq-filme) que armazena tuplas (m, m1), onde m é título de um filme e m1 é o titulo da primeira sequência de m. Por exemplo (Rocky, Rochy II), (Missão Impossivel, Missão Impossivel II). 3

Define-se uma relação Continuacao tal que uma tupla (m, m ) está em Continuacao se m é uma das continuação de m, não necessariamente a primeira. Por exemplo, Rocky III é uma continuação de Rocky. (a) Escreva uma consulta SQL3 que retorna os pares (x, y) tais que y é uma continuação de x, mas não uma sequência imediata de x. (b) Escreva uma consulta SQL3 que retorna os pares (x, y) tais que y é uma continuação de x, mas não uma sequência imediata de x ou uma sequência de sequência de x. (c) Escreva uma consulta SQL3 que retorna o conjunto de filmes x que possuem pelo menos duas sequências diretas. Isto é, existe m e m distintos tais que m e m são sequências diretas de x. (d) Escreva uma consulta SQL3 que retorna o conjunto de filmes x que possuem pelo menos duas sequências seguidas. Isto é, existe m e m distintos tais que m é sequência direta de x e m é sequência direta de m. (e) Escreva uma consulta SQL3 que retorna o conjunto de pares de filmes (x, y) tais que y é uma sequência direta de x e y tem no máximo uma sequência direta (ou nenhuma). 12. Considere as seguintes relações extensionais R e S: R a b c d S a c e f Considere a seguinte consulta Datalog U(x) :- T (x), Q(x) P (x) :- S(x), U(x) P (x) :- T (x), S(x) P (x) :- S(x), Q(x) Q(x) :- R(x), S(x) T (x) :- S(x), Q(x) (a) Esta consulta é estratificável? Por que? Em caso positivo forneça uma estratificação para a consulta. (b) Calcule a resposta á consulta, utilizando o método do ponto fixo, estrato por estrato. Descreva todos os passos do cálculo da resposta. A relação da resposta é T. (c) Dê a expressão SQL3 correspondente a esta consulta Datalog. 13. Considere a seguinte expressão de SQL3: WITH RECURSIVE P(X) AS (SELECT R.X FROM R WHERE R.X NOT IN S), RECURSIVE S(X) AS 4

(SELECT R.X FROM R,Q WHERE R.X = Q.X) UNION (SELECT R.X FROM R,P WHERE R.X = P.X) SELECT * FROM P A relação R é extensional. Tente encontrar a resposta desta consulta sobre R = {a,b} através do ponto fixo, e conclua que o método não converge. Portanto, não produz resposta nenhuma e entra em loop. Explique por que isto acontece (a consulta é estratificável?) 14. Considere a seguinte expressão de SQL3: WITH P(X) AS (SELECT * FROM R) UNION (SELECT * FROM Q), Q(X) AS (SELECT count(x) FROM P) SELECT * FROM Q A relação R é extensional. Tente encontrar a resposta desta consulta sobre R = {2,4} através do ponto fixo, e conclua que o método não converge. Portanto, não produz resposta nenhuma e entra em loop. 15. Proponha um método para determinar se um programa datalog é estratificável e em caso positivo produzir uma estratificação, somente utilizando o grafo de dependência (com labels positivos e negativos). 5