Professional Documents
Culture Documents
Exame 2018 (Epoca Normal) Base Dados
Exame 2018 (Epoca Normal) Base Dados
Leia o enunciado com atenção antes de começar o exame. Não pode chamar o docente para lhe
ajudar a compreender o enunciado. A interpretação do texto faz parte da prova. A cotação de cada
pergunta aparece entre parêntesis. Boa sorte!
As perguntas deste exame dizem respeito a um problema que passamos a descrever de imediato.
Considere três relações/tabelas para uma base de dados que contem informação sobre cidades e
paı́ses do mundo inteiro.
A descrição acima apenas indica o nome dos atributos, não referindo qualquer tipo de chave(s).
O significado dos atributos é auto-explicativo, mas gostarı́amos de esclarecer o seguinte:
• Assuma que cada paı́s pertence a um e um só continente. (Na realidade tal não é verdade por-
que há paı́ses transcontinentais, como por exemplo a Turquia que tem parte do seu território
na Europa e parte na Ásia.)
• Assuma que não pode haver 2 cidades com o mesmo nome no mesmo paı́s, mas que tal é
possı́vel se os paı́ses forem distintos. A tı́tulo de exemplo, há Paris em França (que todos
conhecemos) e há Paris no Texas nos EUA (que poucos conhecem, mas existe).
1
Apresenta-se de seguida um pequeno excerto do conteúdo de cada uma das tabelas.
Continente
id | nome
----+---------
1 | Europa
2 | Asia
... | ...
Paı́s
sigla | nome | populaç~
ao | área | continente
-------+---------------------------+-----------+---------+------------
PT | Portugal | 10.32 | 92212 | 1
ES | Espanha | 46.56 | 505990 | 1
FR | Franca | 66.9 | 643801 | 1
IND | India | 1324 | 3287000 | 2
US | Estados Unidos da America | 323.1 | 9834000 | 4
... | ... | ... | ... | ...
Cidade
nome | paı́s | populaç~
ao
-----------+------+-----------
Faro | PT | 64560
Aljezur | PT | 5884
Paris | FR | 2244000
Paris | US | 25005
Barcelona | ES | 1609000
Madrid | ES | 3166000
New Delhi | IND | 21750000
... | ... | ...
Pergunta 1. (2 valores)
Especifique o esquema desta base de dados em SQL. Não altere o nome das relações/tabelas
nem dos atributos. Não se esqueça de indicar uma chave primária adequada para cada tabela,
bem como outro tipo de restrições que ache pertinentes.
Pergunta 2. (2 valores)
O esquema relacional com as 3 tabelas (Continente, Paı́s, Cidade) foi obtido através da con-
versão de um modelo UML (que lhe foi ocultado). Elabore esse modelo.
2
Pergunta 3. (1 valor)
Resolva em SQL: obter uma listagem do nome dos paı́ses e respectiva densidade populacional
(no de habitantes por km2 ), ordenado por order decrescente de densidade populacional.
Pergunta 4. (2 valores)
Resolva em SQL: obter todas as cidades africanas com mais de 1 milhão de habitantes. Deverá
listar o nome da cidade, a população, e o que paı́s em que a cidade se encontra.
Pergunta 5. (3 valores)
Resolva em SQL: obter o nome dos paı́ses que não têm nenhuma cidade com mais de 1 milhão
de habitantes.
Pergunta 6. (3 valores)
Resolva em SQL: obter o nome dos paı́ses que têm pelo menos 5 cidades com mais de 1 milhão
de habitantes.
(b) Para a tabela Cidade com os 6 atributos acima especificados, indique todas as de-
pendências funcionais não triviais.
(c) Com base na alı́nea anterior indique se a tabela Cidade está numa das formas normais
que aprendeu durante a disciplina (BCNF ou 3NF). Justifique a resposta.