lista 1 - Sandra de Amo
Transcrição
lista 1 - Sandra de Amo
UNIVERSIDADE FEDERAL DE UBERLÂNDIA Programa de Mestrado em Ciência da Computação Disciplina : Sistema de Bancos de Dados - 20 Semestre 2004 Professora : Sandra Aparecida de Amo Lista de Exercı́cios no 1 Modelagem Para cada situação abaixo, pede-se 1. dê um modelo entidade-relacionamento 2. dê um modelo ODL 3. construa o modelo relacional correspondente : tabelas, chaves primárias e chaves estrangeiras 1. No banco de dados de uma revista de programação mensal de cinema da cidade de São Paulo são estocadas as informações sobre filmes, salas de cinemas e sobre a programação : (a) Para cada filme, seu tı́tulo, diretor, gênero, nacionalidade da produção, ano de produção. (b) Para cada sala de cinema, seu nome, endereço, telefone e capacidade. (c) Para cada sala, pode-se saber qual filme está passando em cada dia do mês, e os horários em que passam. 2. O banco de dados de uma revista sobre espetáculos de música clássica de São Paulo guarda informações sobre os diversos concertos ocorrendo numa temporada, nome do evento, data, local, obras executadas, compositores, nomes dos instrumentistas. 3. No banco de dados de uma universidade as seguintes informações devem ser estocadas : • • • • • departamento(nome, endereço, tel, fax, chefe). professor(nome, CIC, departamento, titulação, e-mail). monitor(nome, curso). aluno(nome, matrı́cula, perı́odo, endereço, tel). curso(código, nome, dia, hora, sala) As seguintes restrições são impostas : cada professor tem um único monitor para cada curso que ele ministra. Um monitor deve ser um aluno e pode monitorar vários cursos. Álgebra Relacional 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) 2. 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. 3. Considere a seguinte declaração do modelo relacional contendo informações sobre produtos vendidos numa loja de informática: 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 4. Para cada uma das expressões da álgebra relacional encontradas nos dois exercicios precedentes dê uma consulta do cálculo relacional correspondente. 5. Mostre que todas as expressões do cálculo relacional encontradas no item anterior são safe-ranged. DATALOG 6. Para cada uma das consultas dos dois exercicios precedentes construa um programa DATALOG¬ que responde a esta consulta. Mostre que cada programa DATALOG¬ que você construiu é não-recursivo. 7. Prove que toda consulta do DATALOG¬ não-recursivo é equivalente a uma expressão da álgebra relacional. 8. Considere o seguinte esquema de bancos de dados : Voo(Nvoo, Origem, Destino, distância, HoraSaida, HoraChegada) 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. (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 por vôo direto ou por uma ou mais conexões. (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 Rio de Janeiro, 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. 9. Para cada um dos programas Datalog recursivos encontrados no item precedente, diga se é estratificado ou não, e em caso afirmativo, exiba os estratos do programa.
Documentos relacionados
Lista de Exercicios 1
Programa de Pós Graduação em Ciência da Computação Disciplina : Sistema de Bancos de Dados - 20 Semestre 2012 Professora : Sandra Aparecida de Amo Lista de Exercı́cios no 1 Álgebra Relacional
Leia mais