1º teste 2003/04

Propaganda
Nome:
Número:
INSTITUTO SUPERIOR TÉCNICO
DEPARTAMENTO DE ENGENHARIA INFORMÁTICA
Bases de Dados
1º Teste (LEIC Tagus)
Não se esqueçam de identificar todas as folhas!
10 de Novembro de 2002 – 8H30
Duração: 1H30
Grupo 1 - Modelos ER e Relacional (7 valores)
1. Considere o domínio do problema proposto na 1ª série de problemas e algumas
extensões. Pretende-se guardar informação sobre os alunos, docentes, licenciaturas,
departamentos e licenciaturas do IST.
Os alunos são identicados pelo número de aluno, tem um nome e uma data de
nascimento. Cada disciplina é identificada unívocamente por um código de disciplina e
tem associado um nome, o programa e o número de créditos (ex: Bases de Dados no
Tagus Park tem o código ‘IV’, o programa “XXXX” e 5 créditos). Um aluno inscreve-se
na ocorrência de uma disciplina para um ano lectivo e um semestre (ex: Bases de
Dados no 1º semestre de 2003/04). Podem existir várias inscrições para o mesmo
aluno, mas cada aluno não se pode inscrever na mesma disciplina no mesmo semestre
e ano lectivo (obviamente!).
Cada disciplina pertence a uma licenciatura e asume-se que cada licenciatura é da
responsabilidade de um departamento (ex: Bases de Dados é uma disciplina da LEIC
do DEI). Cada licenciatura tem um identificador e um nome e cada departamento tem
um identificador e um nome. A oferta de uma disciplina num determinado ano lectivo e
semestre é da responsabilidade de um docente que tem que ser professor. Uma
ocorrência de disciplina pode ter associados outros docentes (ex: professores,
assistentes, monitores) que asseguram as aulas práticas e/ou laboratório. Pretende-se
saber, para cada oferta de disciplina, qual o responsável e o resto do corpo docente
associado.
Uma licenciatura tem um coordenador de licenciatura que é um professor. Cada
departamento tem um presidente que é um professor catedrático. Qualquer docente é
identificado pelo seu número mecanográfico, tem um nome e pertence a um
departamento.
1
Nome:
Número:
O corpo docente de uma disciplina de uma licenciatura tem que pertencer ao mesmo
departamento a que pertence a licenciatura. Na mesma ordem de ideias, o presidente
de cada departamento tem que pertencer a esse departamento, bem como os
coordenadores das licenciaturas desse departamento.
Obtenha o diagrama ER para este problema. Tente modelizar o maior conhecimento
possível usando as primitivas do ER. Escreva em texto todo o conhecimento que não
conseguiu captar no modelo ER obtido.
2. Considere o seguinte esquema ER que modeliza informação sobre as equipas do
EURO2004. Assuma que cada equipa se pode identificar univocamente de duas
maneiras alternativas: i) pelo código da equipa dentro do grupo, e ii) pela sua
nacionalidade.
perte
nce
Grupo
Equipa
id
pertence
códigoEquipa
pontos
Nacionalidade
País
a) O esquema ER em cima representa todo o conhecimento que se pretende?
Justifique.
b) Obtenha o esquema relacional correspondente. Não se esqueça de especificar
quais as chaves primárias e estrangeiras. Indique, se existirem as restrições de
integridade que não estão expressas no esquema relacional obtido.
Grupo 1 - Resposta
2
Nome:
Número:
Grupo 1 - Resposta
3
Nome:
Número:
Grupo 2 – Álgebra Relacional e SQL (6 valores)
Considere o seguinte esquema relacional:
Factura (nFact, nProd, data, comprador, vendedor)
Produto (nProd, nome, preço, categoria)
1. Escreva uma interrogação em álgebra relacional que retorne o conjunto de
electrodomésticos (produtos cuja categoria é “electrodomésticos”) que não foram
vendidos pelo José Santos. A resposta deve ser uma relação com uma única coluna
com os nomes dos produtos.
2. Escreva uma vista SQL que retorne todos os produtos que custam mais do que o
preço médio de um electrodoméstico. A vista tem uma única coluna.
3. Escreva uma interrogação SQL que retorne o número total de vendas por categoria,
mas só para as datas em que o número de vendas excedeu o número de vendas em
12/02/2003. Por exemplo, retorna o total de vendas de electrodomésticos para
1/03/2003 se e só se o número de elctrodomésticos vendidos nesse dia foi superior ao
número de electrodomésticos vendidos em 12/2/2003. A resposta é uma relação com
três colunas: categoria, data e número total de produtos vendidos.
4. Diga como pode garantir e escreva em SQL, que:
a) O preço de cada produto é um valor real não negativo.
b) As categorias possíveis para cada produto pertencem a um conjunto
enumerado. Exemplifique.
Grupo 2 - Resposta
4
Nome:
Número:
Grupo 2 - Resposta
5
Nome:
Número:
Grupo 3 - XML (3 valores)
Considere os seguintes dados sob o formato relacional:
Id Duração
Título
Compositor
Maestro
3
1:01
Mad Rush
J. Sibelius
L.
Bernstein
4
1:47
Andante
L.
Beethoven
NULL
5
1:57
Upon
Enchanted
Ground
A.
Hovhaness
NULL
Id
13
55
56
57
Pai
3
5
5
5
Cantor
A. Karis
Y. Kondonassis
F. Hendrickx
H. Coryn
Escreva o documento XML obras.xml obtido depois de exportar os dados
relacionais acima para a seguinte DTD:
<!ELEMENT obras (peça*)>
<!ELEMENT peça (duração, título, compositor, maestro?, cantor*>
<!ELEMENT duração (#PCDATA)>
<!ELEMENT título (#PCDATA)>
<!ELEMENT compositor (#PCDATA)>
<!ELEMENT maestro (#PCDATA)>
<!ELEMENT cantor (#PCDATA)>
<!ATTLIST peça
id ID REQUIRED>
6
Nome:
Número:
Grupo 3 - Resposta
7
Nome:
Número:
Grupo 4 – Organização de ficheiros e Índices (4 valores)
1. Diga qual a melhor organização de ficheiros para cada um dos seguintes tipos de
interrogações frequentes:
a) Procura de registos baseada num intervalo de valores.
b) Inserções e pesquisas onde a ordem dos registos não interessa.
c) Procura de um registo baseada no valor de um dado campo.
2. Qual a diferença entre um índice clustered e um índice unclustered. Dê um exemplo
de cada.
8
Nome:
Número:
Grupo 4 - Resposta
9
Download