Problema 2: Optimização(4.0 val)

Propaganda
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO
Licenciatura em Engenharia Informática e Computação
Tecnologia de Sistemas de Gestão de Bases de Dados
recurso, 29 de Julho de 1999
DURAÇÃO MÁXIMA 2 horas e 30 minutos, com consulta
Problema 1: Interrogação
(6.0 valores)
Relativamente a uma BD de uma biblioteca, com o esquema
LIVRO
Nr
Título
autor
LEITOR
cod
preço
REQ
liv
lei
nome
datar
cidade
datae
onde o significado dos atributos é o óbvio (REQ - requisições; datar - data de requisição;
datae - data de entrega), formule as seguintes perguntas, usando a linguagem indicada:
a)
Livros muito lidos (SQL). Quais os títulos dos livros com mais de dez requisições?
b)
Fãs (Português).
select nome, L.autor
from livro L, leitor
where L.nr in
select liv
from req
where lei = leitor.cod;
group by nome, L.autor
having count(*) =
select count(*)
from livro
where autor = L.autor/
c)
Leitores excêntricos (álgebra relacional). Quais os nomes dos leitores que só lêem
livros que mais ninguém lê?
d)
Leitores inovadores (SQL). Quais os códigos dos leitores que são sempre os primeiros
a requisitar os livros?
e)
Facturas (SQL). Obtenha a lista dos nomes dos leitores, títulos dos livros, datas de
requisição e respectivos alugueres, sabendo que o aluguer é de 1% do preço do livro
por dia.
Problema 2: Optimização(4.0 val)
a)
Suponha que a relação R(A,B,C,D) tem um índice agrupador em A e índices não
agrupadores nas outras colunas. Os quatro índices têm as imagens 50, 10, 20 e 100,
respectivamente. O número de tuplos na relação é 10 000, os quais ocupam 500 blocos.
Quais as maneiras de avaliar a pergunta
A( A=0  B=1  C>2  D=3( R ))
e qual o seu custo?. Qual o método mais económico?
GABRIEL DAVID
1/3
27-06-17 17:54
FEUP/LEIC
TECNOLOGIA DE SISTEMAS DE GESTÃO DE BASES DE DADOS
A equação S(E1-E2) = S(E1) - S(E2) é válida? Justifique com um exemplo.
b)
Problema 3: Concorrência (5.0 valores)
O escalonamento seguinte usa uma política de controlo optimista da concorrência (sem
bloqueios), baseada na comparação dos instantes das operações sobre a BD.
Instante
inicial
(1)
(2)
(3)
(4)
(5)
(6)
T1
T2
100
120
A
IL = 0
IE = 0
LER A
LER A
A:= A+1
A:= A+1
ESCREVER A
ESCREVER A
a)
Qual o princípio básico do controlo optimista da concorrência?
b)
Indique como vão evoluindo os instantes (timestamps) de leitura (IL) e de escrita (IE)
associados ao dado A ao longo dos vários passos do escalonamento? Qual o estado das
transacções no passo (6)?
c)
Explique porque razão um protocolo de bloqueios linear evita a ocorrência de
deadlock?
d)
Qual a importância da noção de escalonamento serializável?
Problema 4: BDOO (5.0 valores)
A FerTagus, SA colocou recentemente em funcionamento a linha de comboios suburbana que
atravessa a ponte 25 de Abril, entre o Fogueteiro e Entrecampos. Para organizar o serviço,
prestar informações aos utentes e obter estatísticas de funcionamento necessita de ter um
sistema de informação em funcionamento. Foi tomada a decisão de utilizar uma base de dados
orientada por objectos, pelo que se pretende definir o esquema da base de dados a partir das
seguintes observações:

Cada comboio é identificado por um número e possui um determinado número de
carruagens. O mesmo comboio circula alternadamente no sentido paraSul e no sentido
paraNorte, transportando passageiros entre as estações.

As estações são caracterizadas por um nome e um número de telefone.

Há passageiros anónimos que adquirem bilhetes e que portanto só contam para as
estatísticas de entrada e de saída, uma vez que todos têm que validar o bilhete nos
torniquetes de entrada e deixá-lo ficar nos torniquetes de saída. Os passageiros com
passe também usam as máquinas de validação, as quais têm capacidade de leitura do
número respectivo. Para além do número do passe, também se sabe o tipo de passe, o
nome, a data de nascimento e a morada desses passageiros. Há um regime especial
para os passageiros deficientes, pelo que se regista nestes casos o tipo de deficiência e
a percentagem de redução nos preços que lhe corresponde.
GABRIEL DAVID
2/3
27-06-17 17:54
FEUP/LEIC
TECNOLOGIA DE SISTEMAS DE GESTÃO DE BASES DE DADOS

Embora a linha seja única, a circulação dos comboios é feita segundo vários tipos de
serviço: normal, em que o comboio pára em todas as estações; directo, em que apenas
há paragem nalgumas estações, dependendo do sentido; reduzido, em que só parte da
linha é percorrida; etc. Dependendo do tipo de serviço, o tempo que se demora a
chegar a cada estação está previsto e é com base nessa informação que se elaboram os
horários. Admite-se que os horários de todas as viagens de um determinado tipo de
serviço é semelhante. O que caracteriza cada horário é apenas o tipo de dia (semana,
sábado, domingos e feriados) e a hora da partida, podendo os momentos de chegada a
cada estação ser obtidos por adição da hora de partida com o tempo correspondente.

Para além do horário, pretende-se monitorizar de forma detalhada o desempenho real.
Para isso regista-se, para cada viagem, o dia em que ocorreu a viagem correspondente
a um determinado horário e qual o comboio utilizado. Para cada paragem nas estações
do seu tipo de serviço regista-se a hora de chegada e de partida e o número de entradas
e saídas contabilizadas nos torniquetes, que lhe correspondem. Pretende-se ainda saber
quais foram os passageiros com passe que entraram e saíram nessa paragem.
a)
Defina um esquema para a BD descrita, usando a norma ODMG/ODL. Justifique as
opções que tomar. Indique as restrições de integridade mais significativas que não
estiverem implícitas no modelo de dados.
b)
Exprima em OQL a pergunta: “quais os tipos e sentidos dos serviços oferecidos e
quantas estações abrangem?”.
c)
Por que razão se indica um especificador de tipo (os_typespec) na criação de objectos?
Que modalidades existem em que condições se utilizam?
GABRIEL DAVID
3/3
27-06-17 17:54
Download