Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso: Sistemas de Informação – Unidade São Gabriel Disciplina: Bancos de Dados – Período: 5º - Turno: Noite Professor: Claudiney Vander Ramos Data de Entrega: 10/09/2014 PRIMEIRA LISTA DE EXERCÍCIOS – Capítulos 1 e 2 OBS: Os exercícios podem ser feitos individualmente ou em duplas. A entrega será de acordo com o final de matrícula. No caso de entrega em duplas, deve-se fazer os exercícios correspondentes ao final das duas matrículas. Caso o final seja idêntico e diferente de zero, somar os finais e pegar o resto da divisão por 10 (MOD 10). Se o final for idêntico e igual a zero, fazer os exercícios de final 0 e 5. Final 5: exercícios 01, 11, 21, 31, 41 Final 6: exercícios 02, 12, 22, 32, 42 Final 7: exercícios 03, 13, 23, 33, 43 Final 8: exercícios 04, 14, 24, 34, 44 Final 9: exercícios 05, 15, 25, 35, 45 Final 0: exercícios 06, 16, 26, 36, 41 Final 1: exercícios 07, 17, 27, 37, 42 Final 2: exercícios 08, 18, 28, 38, 43 Final 3: exercícios 09, 19, 29, 39, 44 Final 4: exercícios 10, 20, 30, 40, 45 Parte I – Conceitos 1. Definir o seguintes termos: dados, banco de dados, SGBD, sistemas de banco de dados, catálogo de banco de dados, independência programa-dados, visão do usuário (user view), DBA, usuário final, transação, objeto persistente, metadados. 2. Discutir as principais características da abordagem de um banco de dados e como ela difere dos sistemas tradicionais de processamento de arquivos. 3. Quais são as responsabilidades do DBA e dos projetistas de bancos de dados? 4. Quais são os diferentes tipos de usuários finais de bancos de dados? Discutir as atividades principais de cada um. 5. Discutir as funcionalidades que podem ser fornecidas por um SGBD. 6. Qual a diferença entre a redundância controlada e aquela sem controle? Ilustre com exemplos. 7. Definir os seguintes termos: modelo de dados, esquema de banco de dados, estado do banco de dados, esquema interno, esquema conceitual, esquema externo, independência de dados, DDL, DML, SDL, VDL, linguagem de consulta, linguagem hospedeira, funcionalidade do banco de dados, catálogo, arquitetura/cliente servidor. 8. Discutir as principais categorias de modelos de dados. 9. Qual a diferença entre um esquema de banco de dados e um estado de banco de dados? 10. Descreva a arquitetura de três esquemas. Por que precisamos de mapeamento entre os níveis dos esquemas? Como diferentes linguagens de definição de esquema suportam essa arquitetura? 11. Qual a diferença entre independência de dados lógica e física? 12. Qual a diferença entre as DMLs procedural e não procedural? 13. Discutir os diferentes tipos de interfaces amigáveis para o usuário (GUIs) e os tipos de usuários típicos de cada uma. 14. Discutir com que outro tipo de sistema de software de computador um SGBD interage. 15. Qual a diferença entre as arquiteturas cliente/servidor de duas e três camadas? 16. Discutir alguns tipos de funcionalidade de banco de dados, ferramentas e suas funções. 17. Discutir o papel do modelo de dados de alto nível no processo de projeto de um banco de dados. 18. Listar os vários casos em que o uso de um valor null (nulo) seria apropriado. 19. Definir os seguintes termos: entidade, atributo, valor de atributo, instância de relacionamento, atributo composto, atributo multivalorado, atributo derivado, atributo complexo, atributo-chave, conjunto de valores (domínio). 20. O que é um tipo entidade? O que é um conjunto de entidades? Explicar as diferenças entre uma entidade, um tipo entidade e um conjunto de entidades. 21. Explicar a diferença entre um atributo e um conjunto de valores. 22. O que é um tipo relacionamento? Explicar as diferenças entre uma instância de relacionamento, um tipo relacionamento e um conjunto de relacionamentos. 23. O que é um papel de participação? Quando é necessário usar os nomes de papéis na descrição de tipos relacionamento? 24. Descrever as duas alternativas para a especificação de restrições estruturais em tipos de relacionamentos. Quais são as vantagens e desvantagens de cada uma? 25. Sob quais condições um atributo de um tipo relacionamento binário pode ser migrado para se tornar um atributo dos tipos entidade participantes? 26. Quando pensamos em relacionamentos como atributos, quais são os conjuntos de valores desses atributos? Qual classe dos modelos de dados está baseada nesse conceito? 27. O que se entende por um tipo relacionamento recursivo? Citar alguns exemplos de tipos relacionamento recursivos. 28. Quando o conceito de entidade fraca é usado na modelagem de dados? Definir os termos tipo entidade forte, tipo entidade fraca, tipo relacionamento identificador e chave parcial. 29. Um relacionamento identificador de um tipo entidade fraca pode ser de grau maior que dois? Citar exemplos para ilustrar sua resposta. 30. O que é uma subclasse? Quando uma subclasse é necessária na modelagem de dados? 31. Definir os seguintes termos: superclasse de uma subclasse, relacionamento de superclasse/subclasse, relacionamento é-um (is_a), especialização, generalização, categoria, atributos específicos (locais), relacionamentos específicos. 32. Discutir o mecanismo de herança de atributo/relacionamento. Por que ele é vantajoso? 33. Discutir subclasses definidas pelo usuário e definida por predicado, e identificar as diferenças entre as duas. 34. Discutir as especializações definidas pelo usuário e por atributo, e identificar as diferenças entre as duas. 35. Discutir os dois tipos principais de restrições em especializações e generalizações. 36. Qual é a diferença entre uma hierarquia de especialização e um reticulado de especialização? 37. Qual é a diferença entre especialização e generalização? Por que não exibimos essa diferença nos diagramas? 38. Como uma categoria difere de uma subclasse regular compartilhada? Para que uma categoria é usada? Ilustrar sua resposta com exemplos. 39. Para cada um dos seguintes termos da UML, discutir o termo correspondente no modelo entidade-relacionamento estendido, se existir algum: objeto, classe, associação, agregação, generalização, multiplicidade, atributos, discriminador, ligação, atributo de ligação, associação reflexiva, associação qualificada. 40. Discutir as principais diferenças entre as notações para os diagramas entidade- relacionamento estendido e de classe UML, comparando como os conceitos comuns são representados em cada um. 41. Discutir as duas notações para a especificação de restrições em relacionamentos n- ários e para quê cada uma pode ser usada. 42. Listar os vários conceitos de abstração de dados e os de modelagem correspondentes no modelo entidade-relacionamento estendido. 43. Qual aspecto de agregação está ausente no modelo entidade-relacionamento estendido? 44. Quais são as principais similaridades e diferenças entre as técnicas de modelagem conceitual de banco de dados e representação do conhecimento? 45. Discutir as similaridades e diferenças entre uma ontologia e um esquema de banco de dados. Parte II – Modelagem Conceitual de Bancos de Dados Construa um Diagrama Entidade-Relacionamento (DER) e um diagrama de classes para modelar cada um dos sistemas abaixo. As descrições são informais, e podem gerar diferentes interpretações. Por este motivo, não existe somente uma solução correta, mas o diagrama deve refletir de forma coerente a descrição. OBS: a) Fazer o mapeamento para o modelo relacional (elaborar comandos CREATE TABLE). b) Os exercícios podem ser feitos individualmente ou em duplas. A entrega será de acordo com o final de matrícula. No caso de entrega em duplas, deve-se fazer os exercícios correspondentes ao final das duas matrículas. Caso o final seja idêntico e diferente de zero, somar os finais e pegaro resto da divisão por 10 (MOD 10). Se o final for idêntico e igual a zero, fazer os exercícios de final 0 e 5. Final 7: exercícios 01, 11, 21, 31 Final 8: exercícios 02, 12, 22, 32 Final 9: exercícios 03, 13, 23, 33 Final 0: exercícios 04, 14, 24, 27 Final 1: exercícios 05, 15, 25, 28 Final 2: exercícios 06, 16, 26, 29 Final 3: exercícios 07, 17, 27, 30 Final 4: exercícios 08, 18, 28, 31 Final 5: exercícios 09, 19, 29, 32 Final 6: exercícios 10, 20, 30, 33 1) Considere o seguinte conjunto de requisitos para um banco de dados de uma universidade. a) A universidade registra o nome do aluno, número de matrícula, número da identidade, endereço residencial e comercial , telefone residencial e comercial, data de nascimento, e sexo. Além disso, o ano de entrada do aluno e o semestre (1º ou 2º) são registrados. Cada aluno é vinculado a um departamento, que coordena o curso em que o aluno está matriculado e o nível (Graduação, Mestrado, PhD) de cada aluno. Tanto o número da identidade quanto o número da matrícula possuem valores exclusivos para cada aluno. b) Cada departamento é descrito por um nome, um código de departamento, o prédio e número da sala onde está localizado, o telefone e a faculdade à qual está vinculado. Tanto o nome quanto o código possuem valores exclusivos para cada departamento. c) Cada disciplina oferecida possui um nome, descrição, código da disciplina, número de horas/aula do semestre, e o período. Cada disciplina está ligada a um departamento que a oferece. O valor do código da disciplina é exclusivo para cada disciplina. d) Cada disciplina oferecida (turma) possui um instrutor, semestre, e ano. O número da turma distingue as turmas da mesma disciplina que são ministradas durante o mesmo semestre/ano, seus valores são 1, 2, 3,..., até o número de turmas ministradas durante cada semestre. e) Para cada disciplina cursada, é registrado um conjunto de notas do aluno, com o valor de cada nota obtida. f) Para cada instrutor (professor) deve ser armazenado o número de matrícula, o nome, a data de nascimento, a data de admissão, e a formação do professor, armazenando o nome do curso, o nível (graduação, mestrado, PhD), e a data de conclusão. O número de matrícula é exclusivo (único) para cada professor. Projetar um esquema ER para essa aplicação. Especifique atributos chaves para cada tipo de entidade e restrições estruturais em cada tipo de relacionamento. Verifique quaisquer requisitos não especificados e realize os pressupostos apropriados para tornar completas as especificações. 2) O objetivo deste exercício é projetar um sistema de reservas para uma companhia de aviação. O sistema contará com um banco de dados central, que será acessado por aplicações clientes, rodando tanto dentro da própria companhia quanto fora dela. A transação central do sistema é a reserva. Uma reserva é identificada por um código gerado pelo sistema em computador. A reserva é feita para um único passageiro, do qual se conhece apenas o nome/sobrenome. A reserva compreende um conjunto de trechos de vôos, que acontecerão em determinada data/hora. Para cada trecho, a reserva é feita em uma classe (econômica, executiva, etc). Um vôo é identificado por um código e possui uma origem e um destino. Por exemplo, o vôo 595 sai de Porto Alegre com destino a São Paulo. Um vôo é composto de vários trechos, correspondendo às escalas intermediárias do vôo. Por exemplo, o vôo 595 é composto de dois trechos, um de Porto Alegre a Londrina, o outro de Londrina a São Paulo. Cabe salientar que há cidades que são servidas por vários aeroportos. Por isso, é importante informar ao passageiro que faz a reserva, qual é o aeroporto no qual o vôo passa. Às vezes os clientes, ao fazer a reserva querem saber qual é o tipo de aeronave que será utilizada em determinado trecho de vôo. Alguns poucos vôos, principalmente internacionais, têm troca de aeronave em determinadas escalas. Nem todos os vôos operam em todos os dias da semana. Inclusive, certos vôos têm pequenas mudanças de horário em certos dias da semana. Cada reserva possui um prazo de validade. Caso os bilhetes não tenham sido emitidos, até esgotar-se o prazo da reserva, a mesma é cancelada. Reservas podem ser prorrogadas. Como o “check-in” de todos os vôos está informatizado, a companhia possibilita a reserva de assento para o passageiro. Reservas de assento podem ser feitas com até três meses de antecedência. Além de efetivar reservas, o sistema deve servir para vários tipos de consultas que os clientes podem querer fazer: a) Possibilidades de viagem de uma cidade ou de um aeroporto para outro. b) O mesmo, mas restrito a determinados dias da semana. c) Horários de chegada ou de saída em determinados vôos. d) Disponibilidade de vagas em um trecho de vôo. e) Disponibilidade de determinados assentos em um trecho de vôo. 3) O objetivo deste exercício é construir um esquema ER para o BD de uma empresa de locação de veículos. A empresa em questão aluga automóveis, vans de passageiros e veículos de carga. Ele atende a dois mercados, o das pessoas físicas e o das pessoas jurídicas. Para acelerar o atendimento, é importante conhecer os dados de clientes que já tenham usado a locadora no passado. Para cada pessoa física é necessário conhecer seu nome, sexo, data de nascimento, endereço, telefone, RG e CPF. Já para as pessoas jurídicas é necessário conhecer a sua razão social, CNPJ, inscrição estadual, endereço e telefone. Os clientes são identificados por um código interno à locadora. A empresa tem uma grande rede de filiais, espalhadas pelo país. Em um momento no tempo, um veículo encontra-se sob responsabilidade de uma filial. Entretanto, como veículos podem ser alugados para viagens em um sentido somente, eles podem mudar de filial. Um veículo é identificado pela sua placa. Além disso, é necessário conhecer o número do chassis, o número do motor, o ano, o tipo de veículo e a cor de cada veículo. O sistema em computador deverá registrar: a) Os veículos disponíveis em determinada filial na data corrente. b) As reservas para veículos em uma filial, com previsão de que veículos estarão disponíveis em uma data futura. c) Os veículos presentemente alugados pela filial, o ponto de entrega (caso seja diferente do de locação) e data de entrega prevista. Os veículos são classificados por uma tabela de tipos. Por exemplo, P3 corresponde a automóveis pequenos, de quatro portas e com ar-condicionado e G4 a grandes automóveis de luxo. As reservas não são feitas para uma marca ou modelo de veículo, mas para um tipo de veículo. Para tipos de automóveis, os clientes desejam saber o tamanho, classificado em pequeno, médio e grande, o número de passageiros, o número de portas, bem como se possui os seguintes acessórios: ar-condicionado, rádio, toca-fitas, CD, direção hidráulica e câmbio automático. Para tipos de vans de passageiros, as informações são as mesmas que para automóveis. Já para tipos de veículos de carga, as informações acima não são relevantes. Neste caso, os clientes desejam saber a capacidade de carga do veículo. Para cada tipo de veículo, há um determinado número de horas necessário para limpeza e revisão de entrega, entre uma reserva e outra. Além disso, o sistema deve programar as revisões dos veículos, impedindo que sejam reservados quando há revisões pendentes. Esta programação é feita com base em um conjunto de parâmetros que são a quilometragem atual do veículo, a quilometragem média diária de veículo de cada tipo, bem como em uma tabela de revisões do tipo de veículo. A seguradora que segura os veículos, exige que, para cada veículo alugado, seja mantida a identificação do motorista, o número de sua habilitação e data de vencimento da mesma. A habilitação não pode vencer dentro do prazo da locação. 4) Projetar um banco dedados para acompanhar as informações relativas a um museu de artes. Suponha que os seguintes requisitos foram coletados: • O museu possui uma coleção de OBJETOS_DE_ARTE. Cada OBJETO_DE_ARTE possui um identificador único, um artista, um ano de criação, um título e uma descrição detalhada. Os objetos de arte são categorizados de diversas formas, conforme descrito a seguir. • OBJETOS_DE_ARTE são categorizados com base no seu tipo. Existem três tipos de objetos: PINTURA, ESCULTURA e um tipo chamado OUTRO para acomodar objetos que não se inserem em nenhum dos tipos principais. • Uma PINTURA possui um tipo (óleo, aquarela, etc), o material no qual foi pintado (papel, tela, madeira, etc) e estilo (moderno, abstrato, etc). • Uma ESCULTURA possui um material no qual foi criada (madeira, pedra, etc), altura, peso e estilo. • Um objeto de arte da categoria OUTRO possui um tipo (gravura, fotografia, etc) e estilo. • OBJETOS_DE_ARTE também são categorizados como COLEÇÃO_PERMANENTE que são de propriedade do museu (que possui informações quanto à data de aquisição, se está exposto ou guardado e o custo) ou EMPRESTADO, que possui as informações sobre a coleção da qual foi emprestado), a data de empréstimo e a data de devolução. • OBJETOS_DE_ARTE também possuem informações que descrevem seu país/cultura utilizando informações sobre país/cultura de origem (italiana, egípcia, americana, indiana, etc) e época (Renascentista, Moderno, Antigo, etc). • O museu acompanha informações sobre ARTISTAS, caso sejam conhecidas: nome, data de nascimento, data de falecimento (caso não esteja mais vivo), país de origem, época, e estilo dominante. O nome é suposto como sendo único. • Ocorrem diferentes EXPOSIÇÕES, cada uma com um nome, data de início, data de encerramento e cada uma está vinculada a todos os objetos de arte que estiveram expostos durante a exposição. • São mantidas também informações de outras COLEÇÕES com as quais o museu interage, incluindo o nome , o tipo (museu, pessoal, etc), a descrição, endereço, telefone e pessoa de contato. O nome da coleção é único (identificador). 5) Sistema Bancário Em sistema bancário simplificado temos: Clientes, onde cada cliente tem CPF, RG, nome, endereço, telefone e estado civil. Um cliente pode ter mais de uma conta em agências distintas. As agências possuem código da agência, nome, endereço e nome do gerente. Sobre as contas tem-se número da conta e saldo atualizado. Uma conta é gerenciada por uma única agência. Os clientes podem movimentar suas contas, na movimentação deve constar sobre o tipo (crédito ou débito), quantia, data e hora. 6) Sistema Agenda Deseja-se construir uma agenda de endereços de pessoas e empresas onde trabalham. As pessoas da agenda possuem endereços para fins postais e telefones, que podem ser residenciais, comerciais, fax, celular ou de outro tipo. Anota-se no telefone DDD, prefixo e número. Telefones do tipo fixo são associados a endereços e telefones do tipo móvel são associados a pessoas. A cada endereço associa-se um código de endereço(único), rua, número, bairro, e CEP. Todo endereço de pessoa pode ser classificado dentre os tipos residência própria, residência com os pais, residência com parentes, residência com amigos, de referência ou outro, sendo que, um endereço pode pertencer a mais de uma pessoa. Para toda pessoa da agenda armazena-se seu código seqüencial na agenda, e seu nome. Uma pessoa pode ser amiga de outras pessoas e têm armazenados a data de início da amizade entre elas, ou se a pessoa for parente de outras pessoas deve armazenar o tipo do parentesco. Alem disso, pessoas têm armazenados o seu sexo e sua data de nascimento e a profissão. Sendo que algumas pessoas podem trabalhar em uma empresa da agenda. Para a empresa, armazena-se a razão social, a inscrição estadual, o CNPJ, o ramo de atuação da empresa e o proprietário da empresa, que é uma pessoa armazenada na agenda. As empresas da agenda possuem um único endereço, e em uma empresa trabalham várias pessoas da agenda, sendo que a existência de uma empresa está condicionada a existir uma pessoa na agenda que trabalha nela. 7) Sistema Imobiliária Uma imobiliária lida com venda de imóveis urbanos. Para qualquer imóvel têm-se registradas a sua inscrição, preço de venda, área total e área construída. Todo imóvel tem localização num endereço. A cada endereço associa-se um código de endereço, rua, número, bairro, CEP e os telefones associados (se existirem). Uma pessoa pode assumir um dos seguintes papéis em relação a imobiliária: corretor, proprietário de imóvel ou comprador. Sobre o proprietário do imóvel têm-se CPF, nome, estado civil e, se for casado, o nome do cônjuge. Um proprietário pode ter vários imóveis a venda na imobiliária. Sobre os compradores têm-se CPF, nome, profissão e uma lista de preferências de imóveis a adquirir. Sobre os corretores da imobiliária têm-se número do CRECI, nome e data de admissão. Um corretor negocia com um comprador a venda de um imóvel. E, é claro, um corretor negocia outros imóveis com outros compradores, podendo um mesmo comprador adquirir um outro imóvel com o mesmo comprador e com outros compradores. Sobre a venda são necessárias as seguintes informações: data da venda, valor da venda e valor da comissão. 8) Sistema Locadora Uma pequena locadora de vídeos possui ao redor de 2000 fitas de vídeo, cujo empréstimo deve ser controlado. Cada fita possui um número. Para cada filme, é necessário saber seu título e sua categoria (comédia, drama, aventura, ... ). Cada filme recebe um identificador próprio. Par cada fita é controlado que filme ela contém. Para cada filme há pelo menos uma fita, e cada fita contém somente um filme. Alguns poucos filmes necessitam mais de uma fita. Os clientes podem desejar encontrar os filmes estrelados pelo seu ator predileto. Por isso, é necessário manter a informação dos atores que estrelam em cada filme. Nem todo filme possui estrelas. Para cada ator os clientes às vezes desejam saber o nome real, bem como a data de nascimento. A locadora possui muitos clientes cadastrados. Somente clientes cadastrados podem alugar fitas. Para cada cliente é necessário saber seu prenome e seu sobrenome, seu telefone e seu endereço. Além disso, cada cliente recebe um número de associado. Finalmente desejamos saber que fitas cada cliente tem emprestadas. Um cliente pode ter várias fitas em um instante do tempo. Não são mantidos registros históricos de aluguéis. 9) Sistema Campeonato de Futebol Na construção de um banco de dados para administrar times, jogos e campeonatos de futebol, cada time tem um nome (único) e uma quantidade de jogadores que jogam para o time, a partir de uma data inicial e final do contrato. Nos jogos do time, cada um desses jogadores é escalado, e, é preciso saber qual foi a sua escalação no jogo (o número da camiseta do jogador). Para cada jogador tem-se o nome, o apelido, a posição, o salário e o número de registro na federação. Um time participa de jogos com outros times dentro de campeonatos. Um jogo é realizado em estádio numa certa data (dia e hora) e produz um resultado, registrando, também, o público presente e a renda do jogo. Cada jogo realizado tem um número de ordem em função do campeonato, ou seja, o número de ordem serve para identificar um jogo dentro do campeonato que ele pertence. Os estádios tem nome (único), cidade, capacidade de público e o(s) time(s) que mandam jogo naquele estádio, sendo que os times só possuem um estádio onde eles mandam seus jogos. Em um jogo válido pelo campeonato deve ter sempre um juiz da federação, sobre os juízes que apitam os jogos tem-se os nome, número de registro na federação, nome da mãe, classe, data que começou como juiz e para quais campeonatos está designado, e claro durante um campeonato temosvários juizes escalados. Para um campeonato tem-se o nome (único), quantidade de times e descrição, e para cada campeonato precisa-se ter os times que participaram do campeonato, bem como a classificação de cada time e o time que foi o campeão. 10) Cadastro Nacional de Veículos Você apresentará um modelo de dados para o cadastro nacional de veículos. Sabe-se que: O veículo possui sempre uma placa única em todo o país; O veículo possui sempre um responsável legal por ele. É necessário manter o histórico desta responsabilidade (propriedade); O veículo pertence sempre a uma categoria; O veículo é sempre de uma marca e de um modelo e possui ano de fabricação. 11) Biblioteca Você irá elaborar um modelo de dados para atender as necessidades de informação de uma biblioteca universitária. São elas: O cadastro dos usuários com endereço completo, inclusive com a informação do curso do usuário e data de início e de término previsto; O cadastro das obras da biblioteca, com a devida classificação: livros científicos, periódicos científicos, periódicos informativos, periódicos diversos, entretenimento, etc.; A língua em que encontra-se a obra; A mídia onde encontra-se a obra; Os autores da obra com o controle da nacionalidade do autor; As editoras dos exemplares com o ano de edição; os usuários estão classificados entre alunos, professores e funcionários, sendo que para os professores não serão considerados limites de volumes para empréstimos, nem possíveis atrasos na devolução destes. O histórico dos empréstimos. 12) Controle de Estoque Uma empresa do comércio varejista, deseja fazer o controle de estoque de seu estabelecimento. Para facilitar a administração do seu estoque, a organização criou uma estrutura de almoxarifados, onde um produto pode ser estocado em vários almoxarifados e um almoxarifado pode conter vários produtos. A reposição de estoque acontece quando os produtos adquiridos de um fornecedor chegam com sua respectiva nota fiscal de compra. Já a baixa do estoque se dá quando ocorre a emissão de uma nota fiscal de venda para um determinado cliente. Além disso, deseja-se classificar os produtos em linhas a serem determinadas pelo usuário de acordo com a sua necessidade. 13) Empresa de Flores A X.P.T.O LTDA. criou a FLOWERNET, uma rede que tem como objetivo atender todo o mercado nacional no que diz respeito à venda e entrega de flores. Através desta rede, um cliente pode fazer uma compra de flores em Belo Horizonte e pedir para a entrega ser feita em Fortaleza. Para isso a X.P.T.O firmou convênio com várias floriculturas em várias cidades do Brasil. Uma floricultura pode atender várias cidades da região. O pedido do cliente, que pode possuir vários tipos de flores, é cadastrado e repassado para uma das floriculturas conveniadas que atendem a cidade, na qual será entregue o pedido. 14) Apuração Eleitoral Para facilitar o processamento da apuração eleitoral da eleição municipal a ser realizada nesse ano, o TRE (Tribunal Regional Eleitoral) resolveu informatizar esse processo. Sabe-se que cada localidade é dividida em várias zonas eleitorais que, por sua vez, são divididas em várias seções nas quais os eleitores estão vinculados. O candidato a um cargo público deve estar vinculado a um único partido político. Vale ressaltar que, segundo a legislação vigente, o voto é secreto. 15) Concurso Público Uma organização deseja implementar o procedimento de concurso público para tornar transparente o seu processo de seleção de pessoal. Esta organização possui vários departamentos, que por sua vez, possui vários cargos. O mesmo cargo pode estar vinculado à vários departamentos. Um concurso público é realizado para vários cargos, e um cargo pode ser oferecido em vários concursos. O candidato faz inscrição em somente um cargo oferecido em um concurso público. O concurso tem várias etapas, que tem a participação de vários candidatos. O candidato obtém a nota em cada etapa que participa. A etapa pode ser classificatória ou eliminatória. 16) Contratos Uma empresa multinacional de grande porte deseja gerenciar os contratos firmados com seus fornecedores. O Setor de Patrimônio é o responsável pelo gerenciamento e cadastramento de contratos, e de seus respectivos fornecedores. Esses contratos de fornecimento de produtos e de prestação de serviços são realizados com vários fornecedores dos mais variados ramos de atividade. Um determinado contrato pode ser feito com vários fornecedores, como por exemplo, um contrato de fornecimento de suprimentos de informática onde cada fornecedor entrega determinado tipo de produto (um entrega papel, outro cartucho de impressora jato de tinta, etc.). Os contratos são classificados em vários tipos, tais como: consultoria, aluguel de equipamento, fornecimento de material/serviço, etc. Cada contrato possui uma forma de pagamento específica estabelecida na sua inclusão. Entretanto, todos os fornecedores enviam boletas de cobrança que são registradas, e na sua respectiva data de vencimento são atualizadas para o status de “paga”, e uma autorização para crédito ao fornecedor é enviada para o Sistema Bancário. O Setor de Patrimônio também é responsável pelo cadastramento dos materiais/serviços consumidos pela empresa, e também pelo cadastramento de seus respectivos fornecedores. Esses materiais/serviços podem ser contratados em vários contratos. 17) Loja de Discos Deseja-se representar os dados necessários para o controle de um conjunto de discos/cds. Uma música pode estar presente em vários discos/cds, que por sua vez é exclusivo de uma gravadora. Uma música pode ter vários compositores e vários interpretes, mas só é classificada em um estilo. 18) Fatura de Conta de Telefone Uma empresa prestadora de serviços de Telecomunicações deseja informatizar a emissão de sua fatura de serviços. Os principais dados desta fatura são: número do telefone, data de vencimento, data de emissão, código do cliente, nome e endereço do cliente, mês de referência dos serviços e, um espaço reservado para no máximo 10 serviços, onde cada um tem data e hora, tipo do serviço, descrição do tipo do serviço, tempo de utilização, telefone chamado, valor unitário, valor da utilização e o percentual de ICMS do tipo do serviço. Além disso tem-se o total da fatura. 19) Controle de Equipamentos Uma empresa deseja controlar os seus equipamentos de informática. Existem vários tipos de equipamento, tais como: CPU, impressoras, modem, etc. Cada equipamento está fisicamente em um departamento da empresa. Somente o empregado responsável pelo departamento, o chefe, pode solicitar a compra de um novo equipamento. Deseja- se também controlar as manutenções realizadas em cada equipamento. 20) Controle de Hospedagem em uma Rede de Hotéis Uma rede de hotéis necessita mapear/modelar os dados necessários ao seu controle de hospedagem e a utilização de serviços pelos hóspedes. Sabe-se que, ao solicitar uma reserva, os dados do cliente são devidamente cadastrados, inclusive o tipo de convênio que está sendo utilizado. Ao dar entrada no balcão de atendimento, o cliente passa assumir a condição de hóspede. Vários quartos podem estar relacionados com o mesmo hóspede, como, por exemplo, no caso de viagem em família. Mesmo assim a empresa deseja guardar informações de quais pessoas encontram-se em cada acomodação. Os quartos são classificados como de luxo e standard, e podem ser ocupados por vários hóspedes em períodos distintos. O serviço de copa do hotel registra os pedidos de itens do cardápio em função do relacionamento entre hóspede e quarto. O mesmo ocorre para os demais serviços do hotel, como eventos/passeios, lavanderia, sauna, etc. 21) Sistema Empresa Uma empresa é organizada em departamentos. Cada departamento possui um nomee um código único, e o departamento pode ter várias localidades (cidades). Os projetos existentes na empresa são, obrigatoriamente, controlados por um departamento, e cada projeto possui um nome, um código único e uma única localização (cidade), que pode ser diferente das possíveis localidades do departamento que o controla. Alguns departamentos não possuem projetos sobre sua responsabilidade, como por exemplo o “departamento pessoal”. No caso dos empregados da empresa é armazenado número de matricula, nome, endereço, salário, sexo e data de nascimento. Quase todos os empregados tem um outro empregado que é o seu supervisor direto, e consequentemente, somente alguns são supervisores, conforme a sua hierarquia na empresa. Em função da cadeia hierárquica existem empregados que não possuem supervisores. A maioria dos empregados são alocados a um departamento, ou seja, pode até existir um empregado sem departamento, mas todo departamento deve possuir empregados alocados a ele, além disso, todo departamento tem um chefe que o gerencia, a partir de uma data, pois a empresa implementa um sistema de rodízio na chefia dos departamentos, o rodízio na chefia determina que um empregado só pode ser chefe de somente um departamento. Um empregado pode trabalhar em mais de um projeto, mesmo que não seja do seu departamento, dedicando algumas horas por semana em cada um dos projetos. E, é claro, alguns empregados, como os do “departamento pessoal”, não estão empenhados em nenhum projeto. Por outro lado, todo projeto tem pelo menos um ou mais empregados trabalhando nele. A empresa oferece alguns benefícios sociais aos dependentes dos seus empregados, caso ele possua. Para tanto, é mantido para cada dependente do empregado o nome do dependente, o sexo, a data de nascimento e o grau de parentesco. 22) DIÁRIO DE CLASSE Uma universidade deseja informatizar o controle de freqüência de seus alunos. Este controle é realizado através dos diários de classe de cada turma. Os principais dados do diário de classe são: sigla e nome do curso, matrícula e nome do professor, código e nome da turma de uma disciplina, período e turno da turma, um espaço reservado para os alunos da turma (um aluno pode fazer parte de várias turmas), o mês e o ano de referência do diário de classe. Além disto, cada aluno/turma está relacionado com os dias de cada mês de referência do diário de classe, ou seja, com os dias que acontece as aulas da turma e para os quais serão registrados as freqüências dos alunos (P - presente e F - falta). Elabore um DER na 3FN que represente os dados necessários a esse controle. Represente os principais atributos, chaves, IRs, obrigatoriedade e opcionalidade. 23) CAMPEONATO DE FÓRMULA I A Federação Internacional de Automobilismo deseja controlar os dados referentes aos Campeonatos Mundiais de Fórmula I. As equipes, de diversos países, participam dos campeonatos. Uma equipe possui vários pilotos, e exige a sua fidelidade. Cada Grande Prêmio (GP) de um campeonato é realizado em um país diferente, e tem a participação de vários pilotos. A pontuação é obtida por um piloto em cada GP que participa. Deseja- se controlar também a nacionalidade dos pilotos. Elabore um DER que contemple os dados necessários a este controle. Represente as chaves primárias e estrangeiras, os principais atributos e a obrigatoriedade/opcionalidade dos relacionamentos. 24) PLANO DE SAÚDE Uma empresa, que gerencia um plano de saúde, deseja construir um sistema para facilitar e agilizar o gerenciamento das internações, seja em enfermaria ou em apartamento do tipo standard, realizadas por seus associados (usuários), bem como o controle dos pagamentos que devem ser realizados aos hospitais credenciados junto à empresa. O controle de mensalidades dos associados não faz parte do escopo do sistema. A empresa só trabalha com um tipo de plano de saúde. Só se deseja controlar as diárias de internações. 25) ESTACIONAMENTO UNIVERSITÁRIO Uma Universidade deseja construir um sistema para facilitar e agilizar o controle de acesso de veículos aos seus cinco estacionamentos para prover mais segurança e comodidade para os seus usuários. O sistema deverá permitir que se cadastre todos os tipos de usuários (alunos, professores e funcionários), que receberão um cartão com um código de barra para sua identificação. Cada usuário poderá solicitar o cadastramento de vários veículos com os quais utiliza os estacionamentos da universidade. Ao chegar a qualquer portão de acesso à universidade, o vigilante irá informar a placa do veículo e o usuário deverá passar o cartão magnético em um leitor de código de barras, e com isso, o sistema irá identificar se o veículo está relacionado com a identificação do usuário. Ao sair, o usuário simplesmente passará o seu cartão em outra leitora de código de barras. O visitante (usuário não cadastrado) deverá pegar um cartão especial com os vigilantes. Através desses procedimentos, o sistema poderá fornecer dados de ocupação de cada estacionamento, além de permitir a consulta de quais os veículos estão, ou estiveram, dentro da universidade em um determinado dia e horário. 26) LOJA DE MATERIAIS Uma organização que atua no ramo de vendas de materiais de construção deseja montar um banco de dados para emissão de faturas em suas lojas, gerenciando a comissão de cada empregado. Sabe-se: A empresa possui diversas lojas; Um empregado pertence sempre a uma loja mas já pode ter trabalhado em outras lojas da rede; Uma nota fiscal é composta de dados genéricos (número da nota fiscal, nome do cliente, data de emissão, valor total da Nota fiscal, nome do empregado responsável pela venda) e dados do detalhe da venda (nome do material vendido, quantidade deste material, valor unitário, valor total do item de material vendido). 27) PROJETOS Uma empresa desenvolve projetos de grande porte envolvendo diversas áreas como engenharia, urbanismo, transportes, etc. Esta empresa está organizada em departamentos, sendo que cada projeto é desenvolvido sempre sob a coordenação de um departamento. Os departamentos possuem chefias e subchefias e como existe rodízio nestas funções, a empresa deseja guardar o intervalo no qual um empregado esteve como chefe ou subchefe de um departamento. Embora um empregado pertença sempre a um departamento, ele pode ser alocado a projetos de outros departamentos. A empresa deseja guardar informações das equipes de projeto. Todo projeto é sempre de uma área (engenharia, urbanismo, etc.), possui período definido de tempo e está dividido em fases que também possuem períodos. Os responsáveis pelo projeto são as chefias do departamento ao qual o projeto está alocado. Um empregado é alocado ao projeto em determinada fase específica para determinada função. A empresa deseja saber em que projeto, por quanto tempo e em qual função esteve o empregado alocado. Para facilitar o controle, suponha que num mesmo intervalo de tempo um empregado estará alocado apenas a um projeto. Obs.: Este exercício foi baseado em exercício semelhante ao da Palestra de Modelagem de Dados do Instituto Latino-Americano de Tecnologia (IBM Business) de dez/94. 28) AGÊNCIA DE TURISMO Uma empresa de turismo necessita de uma aplicação que favoreça o cadastramento de seus clientes e o controle dos serviços utilizados por eles. Esta empresa trabalha com diversos fornecedores que oferecem produtos distintos, como hotéis, passagens aéreas, aluguel de veículo, etc.. Um mesmo fornecedor pode oferecer mais de um tipo de serviço. Quando um cliente compra um serviço desta empresa, é emitida uma nota de pedido relacionando todos os produtos que envolveram a transação. Cada serviço possui uma modalidade de pagamento, e na negociação, o atendente da agência de turismo poderá ou não unificar a modalidade de pagamentopara todo o pedido. A aplicação encomendada irá controlar as ordens de pagamento para os fornecedores destes serviços, assim como, a cobrança aos clientes. Esta ultima é feita via banco para o qual a agência de turismo deverá repassar as informações do cliente, da data de vencimento e do valor a ser cobrado. Este banco irá retornar a agência a informação dos pagamentos efetuados, quando, então, será dado baixa no arquivo de contas-a-receber. 29) IMOBILIÁRIA Uma imobiliária com especialidade em aluguéis deseja desenvolver uma aplicação para controle do recebimento e repasse dos aluguéis a seus clientes. Esta empresa cadastra todos os seus clientes e os inquilinos destes. Ela necessita guardar informações dos imóveis sob sua responsabilidade e dos contratos de aluguel por ela efetuados. Para facilidade de controle nos pagamentos dos aluguéis, estes serão feitos via sistema de cobrança bancária. O banco credenciado, após a cobrança, irá depositar automaticamente na conta da imobiliária o valor de 5% relativo à comissão de seus serviços e o restante, na conta do proprietário do imóvel, em conta/banco/agência indicada por ele. O sistema mensalmente repassará ao banco de cobrança informações para tal. Os contratos podem ser cancelados a qualquer instante, dentro da legislação vigente. Quinzenalmente o sistema deverá emitir uma relação dos inquilinos em atraso. 30) COOPERATIVA MÉDICA Você foi contratado para fazer um sistema de uma cooperativa Médica. Nesse tipo de negócio, o departamento de credenciamento mantém um cadastro das especialidades médicas que serão cobertas por cada plano da cooperativa. Os médicos e as entidades conveniadas (hospitais, clínicas, etc.) estão autorizados a executar determinados tipos de serviço em sua especialidade. Os clientes (futuros pacientes) associam-se à cooperativa e possuem direito de utilizar os serviços de acordo com o plano escolhido, respeitando as carências exigidas por plano/serviço. A aplicação a ser desenvolvida mensalmente envia ao banco credenciado informação do pagamento que deverá ser efetuado pelo cliente. O próprio banco emite o carnê de pagamento e retorna à empresa a informação dos pagamentos efetuados. Semestralmente o sistema emitirá a carteira para aqueles que estão em dia com seus pagamentos. Existem planos que cobrem dependentes dos usuários. O sistema controlará os atendimentos feitos a todos os usuários, pois existem serviços que são limitados a determinado número por ano. Além disso, este sistema emitirá pagamento aos médicos e entidades cadastradas pelos serviços realizados. 31) TRANSPORTE RODOVIÁRIO Você deverá traçar um MER que satisfaça as necessidades de informação de uma companhia de transportes rodoviários de passageiros no tocante a emissão de passagens e o controle de bilhetes já emitidos. A empresa realiza transportes entre diversas cidades do estado de Minas Gerais. O sistema necessita de informações da origem e destino de cada viagem, com seus horários de saída e chegada, e de informações das localidades de paradas intermediárias. Os ônibus desta empresa possuem número padronizado de cadeiras, de acordo com as leis vigentes no país, mas via de regra, por marca/modelo de ônibus tem-se a informação do número de poltronas disponíveis. Além disso, o modelo deverá prever descontos por horários que serão informados para determinado prazo de validade. 32) REDE DE HOTÉIS O sistema tem como objetivo facilitar a administração e o gerenciamento dos processos que envolvem uma rede de hotéis no estado de Minas Gerais, no tocante ao gerenciamento de reservas/hospedagem e no fornecimento de serviços aos hóspedes. Pode ser dividido nos seguintes sub-sistemas: Cadastro de hóspedes Controle de reservas/hospedagem Controle de estoque e fornecimento de materiais à disposição dos hóspedes Fornecimento de serviços extras (lavanderia, sauna, frigobar, restaurante) Pagamento das diárias e serviços. Esta rede de Hotéis possui uma administração Central na cidade de Belo Horizonte de onde gerencia as atividades e o faturamento de seus hotéis nas cidades de Belo Horizonte, Poços de Caldas, Uberaba, Caxambu e Três Marias. A especificação do sistema deverá incluir a gerência e distribuição dos dados relativos ao controle necessário. Os serviços desta rede são padronizados, embora os preços praticados 33) Projetar um esquema ER para a administradora de imóveis descrita abaixo. A administradora trabalha tanto com administração de condomínios, quanto com a administração imóveis de aluguel. Uma entrevista com o gerente da administradora resultou nas seguintes informações: a) A administradora administra condomínios formados por unidades condominiais. b) Cada unidade condominial é de propriedade de uma ou mais pessoas. Uma pessoa pode possuir diversas unidades. c) Cada unidade pode estar alugada para no máximo uma pessoa. Uma pessoa pode alugar diversas unidades.
Compartilhar