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.
Download

Projeto de Banco de