Fudametos de Bacos de Dados Prova 3 Prof. Carlos A. Heuser Julho de 2004 Duração: 2 horas Prova com cosulta Questão 1 (Costrução de modelo ER - Peso 3) Deseja-se costruir uma base de dados para armazear iformações referetes a uma base de dados para geealogia. Nesta base, pessoas desejam armazear iformações sobre seus acestrais. Cada pessoa é idetificada por um código. Para cada pessoa, podem ser armazeadas várias iformações: sexo, preome, sobreome, data e local de ascimeto e data e local de falecimeto. Todas estas iformações são opcioais. Cada local têm um código e um ome. Para cada matrimôio, é ecessário armazear as seguites iformações: pessoa que é marido, pessoa que é esposa, pessoas que são filhos gerados pelo matrimôio e data e local do matrimôio. Novamete, todas estas iformações são opcioais. Lembrar que uma pessoa pode ter participado de vários matrimôios. Deve ser costruído um modelo coceitual para esta base de dados. O modelo coceitual deve ser costruído a forma de um modelo etidade relacioameto. Iformar que otação está sedo usada, caso seja usada alguma otação diferete da que costa o livro. Este modelo deve coter, ao meos, etidades, relacioametos, atributos, idetificadores e geeralizações/especializações. A base de dados modelada ão deve coter redudâcias de dados. Solução: A solução ecotra-se a Figura 1 e está apresetada com a otação européia do DBMai. Questão 2 (Projeto de base de dados relacioal - Peso 2,6) Na figura 2 está apresetado um modelo ER parcial de uma sistema que armazea iformações sobre servidores e aluos em uma Uiversidade. O modelo está costruído com a otação do livro. Deve ser projetado o esquema (modelo lógico) de uma base de dados relacioal para o modelo ER em questão. O esquema da base de dados relacioal deve coter os omes das tabelas, os omes dos atributos, atributos que formam a chave 1
coceitual/1 Pessoa Código da pessoa Preome Sobreome Data de ascimeto Data de falecimeto id: Código da pessoa Nascimeto Marido Falecimeto Filho Esposa Cidade Código da cidade Nome da cidade id: Código da cidade Matrimôio Código do matrimôio data do matrimôio id: Código do matrimôio Local matrimôio Figura 1: Modelo coceitual para a questão 1 data iício úmero ome data de ascimeto úmero edereço do cartão PESSOA Lotação data fim CARGO cargo p escola secudária ALUNO (1,1) INGRESSO data de igresso Figura 2: Modelo coceitual para a questão 2 2
primária e as chaves estrageiras. Quado houver alterativas de projeto dizer que alterativa foi usada. Pessoa(NoCartao,Nome,DataNasc,Edereco,EscolaSecu) Cargo(CodigoCargo,NomeCargo) Lotacao(NoCartao,CodigoCargo,DataIiLota,DAtaFimLota) (NoCartao) referecia Pessoa (CodigoCargo) referecia Cargo Igresso(NoCartao,DataIgresso) Questão 3 (Egeharia reversa de BD relacioal - Peso 2,6) Abaixo está apresetado o esquema lógico de uma parte de uma base de dados de aeroportos e compahias de aviação. Esta base de dados é a mesma que apareceu a Prova 1 deste semestre. Execute um processo de egeharia reversa, costruido o modelo etidaderelacioameto correspodete a esta base de dados. O modelo ER deve refletir exatamete esta base de dados, cotedo etidades, atributos, relacioametos e cardialidades, bem como idetificadores. Compahia (SiglaCia,NomeCia) Voo(SiglaCia,NoVoo,SiglaAeroSaida,SiglaAeroDestio SiglaAeroSaida referecia Aeroporto SiglaAeroDestio referecia Aeroporto SiglaCia referecia Compahia Aeroporto(SiglaAero,NomeAero) VooCompart(SiglaCiaCompart,NoVooCompart,SiglaCia,NoVoo) (SiglaCia,NoVoo) referecia Voo Solução: O modelo coceitual gerado pela egeharia reversa ecotra-se, a otação do DBMai, a figura 3. Questão 4 (Normalização - Peso 1,8) Cosidere a seguite tabela, ão ecessariamete ormalizada, referete a base de dados da questão aterior: Tab(SiglaCia,NoVoo,NomeCia,SiglaAeroSaida,NomeAeroSaida As depedêcias fucioais (podedo icluir depedêcias trasitivas) que existem esta tabela são as seguites: (SiglaCia,NoVoo) SiglaAeroSaida 3
coceitual/1 Compahia Sigla da compahia Nome da compahia Voo compartilhado Sigla comahia voo compart Numero voo compart id: Sigla comahia voo compart Numero voo compart R R_1 Voo Número do voo Hora de saída Hora de chegada id: R.Compahia Número do voo Origem Destio Aeroporto Sigla do aeroporto Nome do aeroporto id: Sigla do aeroporto Figura 3: Modelo coceitual para a questão 3 4
(SiglaCia,NoVoo) NomeAeroSaida (SiglaCia,NoVoo) HoraSaida (SiglaCia,NoVoo) HoraChegada SiglaCia NomeCia SiglaAeroSaida NomeAeroSaida 1. Diga em que forma ormal ecotra-se a tabela. 2. Caso a tabela ão se ecotre a terceira forma ormal, mostre a trasformação da tabela para a terceira forma ormal. Mostre cada forma ormal itermediária, etre aquela em que a tabela se ecotra e a terceira forma ormal. Solução: 1. A tabela ecotra-se a 1FN pois ão cotém tabelas aihadas. Ela ão está a 2FN por coter depedêcias parciais. 2. 2FN: Tab1(SiglaCia,NoVoo,SiglaAeroSaida,NomeAeroSaida Tab2(SiglaCia,NomeCia) 3FN: Tab1(SiglaCia,NoVoo,NomeCia,SiglaAeroSaida Tab2(SiglaCia,NomeCia) Tab3(SiglaAeroSaida,NomeAeroSaida) 5