FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Mestrado em Gestão de Informação Sistemas de Informação recurso, 02 de Março de 1999 PARTE II – DURAÇÃO MÁXIMA 1 horas e 30 minutos, com consulta Problema 1: Modelização (3.0 valores) Apresenta-se, de forma esquemática, uma situação a analisar. Trata-se de representar informação sobre a actividade de uma corporação de bombeiros. A corporação tem um nome e uma sede numa certa morada. Cada bombeiro é descrito pelo seu BI, nome, posto, vínculo (voluntário, sapador), data de nascimento, data de entrada ao serviço como bombeiro, data de início e cessação de actividade numa corporação; em cada momento, o bombeiro só pode estar ligado a uma corporação; um dos bombeiros é o comandante. Os bombeiros organizam-se em equipes, as quais se deslocam em viaturas, descritas pela matrícula, ano de fabricação e número de lugares; as viaturas de combate a incêndio têm uma certa capacidade de armazenar água; as ambulâncias podem ter equipamento de cuidados intensivos. As equipas de bombeiros respondem a chamadas de variados tipos, mas que têm todas uma data e um local associado; o local é de uma dada freguesia, que por sua vez faz parte de um concelho e de um distrito; se a ocorrência for um incêndio, regista-se a área total queimada e os prejuízos estimados. 1.a) Obtenha um modelo de dados orientado por objectos, usando o formalismo OMT, que capture a realidade descrita. Justifique as opções principais que fizer. 1.b) Descreva, usando um DFD, um processo de cálculo da taxa de área queimada nos incêndios para que foram chamados durante o ano corrente, relativa ao total de bombeiros da corporação. Problema 2: Interrogação (5.0 valores) Considere a seguinte BD de Fornecedores. A tabela FORN representa os fornecedores através do número de contribuinte, nome, categoria e cidade da sede. A tabela COMP representa os componentes que esses fornecedores vendem pelo seu número de série, designação, côr, peso e cidade do armazém de origem. A tabela PROJ lista os projectos em curso pelo seu número, nome e cidade onde decorre. Finalmente, a tabela FCP regista os fornecimentos pelo número de contribuinte do fornecedor, número de série do componente fornecido, número do projecto que o recebeu e quantidade respectiva. FORN nc 11001 18231 23456 15051 21012 nome John Steel Autocomp Jean Acier Giovanni Acero Juan Aco categ 30 20 30 10 10 sede Londres Londres Paris Roma Madrid COMP serie design 1 2 3 4 5 6 7 cor biela cambota biela volante volante farolim vidro peso cinza preto verde rosa rosa azul branco origem 600 1100 500 1000 1100 200 2000 Londres Paris Londres Paris Roma Milao Paris PROJ nr nomep 9201 Rover 123 9204 Renault XW GABRIEL DAVID cidade Londres Paris PÁGINA 1 FEUP/MGI SISTEMAS DE INFORMAÇÃO 9301 Rolls 9302 Lancia 9303 Fiat 118 9304 UMM 2000 9305 UMM SX FCP forn comp 11001 1 11001 1 18231 3 11001 1 23456 1 23456 3 11001 2 15051 5 15051 6 23456 4 21012 1 21012 2 21012 3 21012 3 21012 1 11001 1 15051 4 21012 4 21012 2 11001 1 11001 1 11001 1 11001 1 Londres Roma Roma Lisboa Lisboa proj 9301 9302 9301 9204 9204 9301 9201 9201 9204 9304 9303 9303 9304 9301 9301 9201 9301 9201 9303 9204 9305 9303 9304 quant 300 310 200 400 220 0 350 200 300 180 400 150 200 100 150 180 200 170 300 250 500 320 300 2.a) Usando álgebra relacional, defina a relação que contém todos os pares de números de componentes tais que um fornecedor fornece ambos. 2.b) Pergunte a um SGBD com SQL quais os projectos dependentes do fornecedor 15051, quer dizer, que recebem componentes só fornecidos por ele? 2.c) Qual o resultado da seguinte pergunta, para os dados acima? Exprima a mesma em Português. select unique forn from fcp where comp = (select serie from comp, proj where (serie, nr) in (select comp, proj from fcp) group by serie having count(*) = select count(*) from proj) Problema 3: Dados para Sistemas de Apoio à Decisão (2.0 valores) 3.a) Imagine que necessitava de preparar os dados do problema 2 de forma a suportar um EIS que mostrasse rapidamente os valores agregados das quantidades por fornecedor, componente e projecto. Qual o aspecto do respectivo cubo de dados? Quais as perguntas SQL para obter os valores em falta? 3.b) Qual a pergunta SQL a utilizar para seleccionar os projectos que, sozinhos, foram responsáveis por mais de 50% do total das encomendas de um produto? GABRIEL DAVID PÁGINA 2