INSTITUTO FEDERAL DO PIAUÍ – IFPI CURSO: Tecnologia em Análise e Desenvolvimento de Sistemas DISCIPLINA: Projeto de Banco de Dados PROFESSOR: Dr. Fábio Gomes Valor: 3,0 (três) pontos Atividade 03 Construa um modelo ER para as bases de dados descritas abaixo, incluindo entidades, atributos, relacionamentos, cardinalidades e chaves (utilizar o MySQL Workbench). 1. Uma agência de viagens resolveu montar uma base de dados com informações sobre vôos das companhias de aviação das quais vende bilhetes. A agência atende várias companhias de aviação, cada qual identificada por uma sigla (por exemplo, “RG“) e tendo um nome (por exemplo, “Varig“). Cada companhia possui vários vôos. Um vôo é identificado por uma sigla (por exemplo, “RG2324“) que inclui a sigla da companhia responsável. Cada vôo sai de um aeroporto e tem como destino outro aeroporto. Os aeroportos são igualmente identificados por uma sigla (por exemplo “POA“) e têm um nome (por exemplo “Porto Alegre“). Cada vôo tem um horário de saída e um horário de chegada. Há alguns vôos compartilhados. Um vôo compartilhado é um vôo de uma companhia, mas que usa, na realidade, um vôo de outra companhia. Por exemplo, o vôo “JJ4598“ da TAM não existe fisicamente, mas utiliza o vôo “RG2324“ da Varig. Para vôos compartilhados é necessário conhecer o vôo que eles usam. 2. Uma universidade deseja manter uma base de dados sobre a produção científica de seus docentes. Cada docente é identificado por um número de crachá. Além disso, a base de dados deve conter o nome do docente. Os docentes publicam trabalhos em eventos. Cada evento pertence a uma série de eventos. Um evento é um congresso, simpósio ou workshop no qual são apresentados trabalhos (artigos) científicos. Cada evento ocorre em uma data, em uma cidade e tem um nome. Por exemplo, o “SBBD2010” ocorre em outubro de 2010, em Belo Horizonte-MG. O evento pertence a uma série de eventos, que tem um nome e uma entidade promotora. Por exemplo, o SBBD2010 pertence a série de eventos “Simpósio Brasileiro de Banco de Dados” e é promovido pela SBC. Cada série de eventos possui uma sigla identificadora. Os eventos dentro da série são numerados de um em diante. Em cada evento são apresentados vários trabalhos científicos. Os trabalhos são numerados de um em diante, dentro de cada evento. Para cada trabalho é necessário saber seu título e quem são seus autores. Deve ser observado que cada docente pode ser autor de vários trabalhos. 3. Uma agência de turismo deseja controlar a reserva de pacotes de viagem por seus clientes. Cada cliente deve ser cadastrado na agência, sendo armazenados, seu CPF (usado como identificador), seu nome e seus vários telefones. A agência cadastra o maior número de telefones de contato possíveis, para cada um deles o próprio número e o tipo (comercial, residencial, celular, recados). Para cada tipo, um cliente pode ter vários telefones. Além dos clientes, a agência registra pacotes de viagem. Cada pacote é identificado por um código (numérico) e devem ser armazenados uma descrição do pacote (texto livre), a data de partida e a duração (em número de dias). Finalmente, deve ser registradas as reservas para os pacotes. Cada reserva é feita por um cliente e referese a um pacote. É necessário saber a data em que foi feita a reserva. Um cliente pode reservar um pacote para várias pessoas (familiares, amigos, etc.). Neste caso, somente o cliente estará cadastrado, e é necessário armazenar o número de pessoas que participam da reserva. 4. Um programa de pós-graduação deseja construir uma base de dados para armazenar informações referentes ao processo de seleção de seus candidatos. O programa está organizado em áreas (por exemplo, "banco de dados" ou "redes de computadores"), cada área com um código e um nome. No programa atuam vários orientadores que têm também um código e um nome. Um orientador pode atuar em diferentes áreas. Cada candidato deve, ao inscrever-se, indicar obrigatoriamente uma ou mais áreas para as quais está se inscrevendo. Adicionalmente, se assim o desejar, pode indicar com quais orientadores destas áreas está se inscrevendo. Ao indicar um orientador, o candidato deve informar o grau de convicção (alto, médio ou baixo) com o qual fez a indicação. Além de seu nome e seu CIC (que é usado como identificador) cada candidato deve informar seu e-mail, o nome de seu curso de graduação e o nome da universidade em que fez este curso. Os candidatos a doutorado, devem, adicionalmente, informar o título de seu plano de pesquisa e o resumo de seu plano. Além disso, estes candidatos devem informar a área em que fizeram mestrado e quem foi seu orientador. Aqui há duas situações a considerar. No caso de um aluno que fez mestrado dentro do próprio programa de pós-graduação, ele deve indicar em qual das áreas do Programa fez Mestrado e qual dos orientadores do Programa foi seu orientador. Já um candidato que tenha feito Mestrado em outro programa de pós-graduação, deverá fornecer o nome da área em que fez o mestrado e o nome de seu orientador. 5. Uma empresa jornalística deseja construir uma base de dados para armazenar resultados passados de copas do mundo de futebol, para acesso por seus repórteres. A base de dados armazena informações sobre países que participaram ou sediaram copas do mundo. Cada país é identificado por uma sigla de duas letras e possui um nome. Uma copa é identificada pelo ano em que ocorreu e a base de dados armazena as datas de início e fim da copa, bem como o nome da cidade em que ocorreu a cerimônia de abertura. Para cada copa, cada país monta uma equipe diferente de jogadores. Cada equipe tem um treinador e vários jogadores. Tanto treinadores, quanto jogadores estão armazenados em uma base de dados de pessoas, cada uma identificada por um código. Para as pessoas, a base de dados mantém, além do código, seu nome, data de nascimento e país de nascimento. Observar que uma pessoa pode participar de diferentes copas e com diferentes papéis (treinador e jogador). Finalmente, deseja-se armazenar os jogos ocorridos em cada copa. Os jogos são numerados de um em diante dentro de cada copa. Para cada jogo deve-se saber o nome do estádio em que ocorreu, a data e hora do jogo, as equipes que dele participaram, bem como o número de gols de cada equipe. 6. Deseja-se construir uma base de dados para armazenar informações referentes a uma cidade, que serão usadas para fins urbanísticos. É necessário armazenar informações sobre ruas e sua organização em quadras. A cidade é organizada em ruas. Cada rua tem um nome e um número que a identifica. Uma rua é dividida em quadras, que são numeradas de um em diante dentro da rua. Uma quadra é um trecho contíguo de rua sem cruzamentos. Cada quadra inicia em uma rua e termina em uma rua. Cada quadra tem um CEP. Além disso é necessário conhecer os terrenos que formam as quadras, bem como sua ocupação. Cada terreno tem um número que o identifica dentro da rua. O terreno pode ter vários tipos de ocupação. Caso for um terreno baldio, é necessário conhecer sua área em m2. Caso tiver construção, é necessário saber o destino (residencial ou comercial) e a composição (uma unidade somente ou múltiplas unidades). Se for de uma única unidade, é necessário conhecer a área construída. Se for de múltiplas unidades, é necessário conhecer o número de cada unidade, bem como sua área construída.