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

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