Instituto Federal de Educação, Ciência e Tecnologia – Sertão Pernambucano Disciplina: Banco de Dados Profa. Rossana de Paula Junqueira Almeida Lista de Exercícios – Capítulo 3 1) Identifique as entidades: Deseja-se construir um banco de dados para um sistema de vendas. Em cada venda são vendidos vários produtos e um determinado produto pode aparecer em diferentes vendas. Cada venda é efetuada por um vendedor para um determinado cliente. Um produto está armazenado em uma prateleira. 2)Identifique as entidades, os relacionamentos e as respectivas cardinalidades para o seguinte problema: Em uma empresa de desenvolvimento de sistemas informatizados, pessoas são alocadas a tarefas. No momento da alocação da pessoa a tarefa, também lhe é alocado um equipamento para resolver a tarefa. 3) A partir do DER modifique as cardinalidades mínimas de forma a especificar o seguinte: Um curso não pode estar vazio, isto é, deve possuir ao menos uma disciplina em seu currículo Um aluno, mesmo que não inscrito em nenhum curso, deve permanecer por algum tempo no banco de dados 4) Considerar o exercício das vendas. Identificar os atributos, considerando que: Para cada cliente é necessário conhecer seu código, seu nome, seu endereço (rua, número, complemento, CEP, cidade, estado) e seu telefone. Para cada vendedor, é necessário conhecer seu código, seu nome, seu telefone e sua senha no sistema de vendas. Para cada venda é necessário conhecer a data e o número da nota fiscal. Para cada produto, é necessário conhecer o seu número, seu código de barras e sua descrição. Cada prateleira tem um número e uma localização. 5) Determine quais os identificadores das entidades do sistema de vendas 6) Estudo de caso – Administradora de imóveis Construa um diagrama ER (apenas entidades e relacionamentos com cardinalidades) para a administradora de imóveis descrita abaixo. A administradora trabalha tanto com administração de condomínios, quanto com a administração de aluguéis. Uma entrevista com o gerente da administradora resultou nas seguintes informações: A administradora administra condomínios formados por unidades condominiais. Cada unidade condominial é de propriedade de uma ou mais pessoas. Uma pessoa pode possuir diversas unidades. Cada unidade pode estar alugada para no máximo uma pessoa. Uma pessoa pode alugar diversas unidades. 7) Estudo de caso – Locadora de vídeos Uma pequena locadora de vídeos possui ao redor de 2000 dvd’s, cujo empréstimo deve ser controlado. Cada dvd possui um número. Para cada filme, é necessário saber seu título e sua categoria (comédia, aventura, drama, ...). Cada filme recebe um identificador próprio. Para cada dvd é controlado que filme ele contém. Para cada filme há pelo menos um dvd, e para cada dvd contém somente um filme. Alguns poucos filmes necessitam dois dvd’s. 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 dvd’s. Para cada cliente é necessário saber seu nome e sobrenome, seu telefone e seu endereço. Além disso, cada cliente recebe um número de associado. 8) A editora ABC publica livros de diferentes autores. Alguns autores escreveram apenas um livro, outros escreveram vários. Existem livros com múltiplos co-autores. Esta editora trabalha com várias tipografias, embora cada livro seja impresso apenas numa delas. Os editores produzem os projetos de livros de vários autores; a sua função é enviar a cópia final para a tipografia, depois de revista e corrigida pelos autores. 9) 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. 10) Deseja-se criar um banco de dados para uma agência de turismo contendo informações sobre recursos oferecidos pelas cidades que fazem parte da programação de turismo da agência. As informações a serem mantidas sobre cada cidade referem-se a hotéis, restaurantes e pontos turísticos. Sobre os hotéis deseja-se guardar seu nome, endereço, categoria (5 estrelas, 4 estrelas, etc), os tipos de apartamentos existentes, o valor da diária de acordo com o tipo do apartamento. Sobre cada cidade deve-se armazenar seu nome, estado e um código único para buscas. Sobre os restaurantes é de interesse guardar o nome, endereço e a categoria (de luxo, simples, etc). Nesse banco estão sendo considerados como pontos turísticos igrejas, casas de show e museus, entre outros. No caso de igrejas deseja-se manter informações sobre o seu nome, a data de construção, a religião em que é ou foi utilizada, o endereço, uma descrição e o estilo de construção. Para casas de show devem ser guardados o seu nome, o tipo de show, o endereço, uma descrição e os dias de funcionamento e horário. Para museus deseja-se guardar seu nome, a data de fundação, o número de salas, o endereço, uma descrição e fundadores. Sobre os outros pontos turísticos deseja-se armazenar somente informações gerais, tais como, um nome, uma descrição e o endereço. 11) A empresa possui diversos depósitos espalhados pelo estado, de modo a melhor atender seus clientes. Cada depósito tem endereço, cidade e telefone. Assim, um item de mercadoria pode possuir saldo estocado em um ou mais depósitos, interessando sempre saber, obviamente, qual o saldo de cada item em cada depósito, para poder programar as entregas. Cada item é fornecido por um ou mais fornecedores, a respeito dos quais a empresa precisa saber CPF ou CGC, razão social ou nome, endereço e dois telefones. Portanto, o preço unitário de um item pode variar conforme o fornecedor. Assim, temos agora dois preços unitários: o de compra (preço unitário do fornecedor) e o de venda (preço pelo qual a mercadoria é vendida). Com o crescimento do número de vendedores, a empresa resolveu dividi-los em pequenas equipes, chefiadas por um dos vendedores que, assim, passou a acumular a função de Supervisor Regional de Vendas, sem deixar de ser um vendedor. Agora cada vendedor está vinculado obrigatoriamente a um supervisor (e somente um obviamente). 12) Uma escola deseja disponibilizar em uma intranet as notas de seus alunos por matéria e por bimestre, sendo que um semestre sempre terá duas nos bimestrais e a média do final do semestre será calculada pelo sistema. Na página, o aluno poderá visualizar o código da matéria, a descrição da matéria, bimestre, nota e no final do semestre a respectiva média final. Também poderá consultar quais as matérias cursa no semestre, e respectivos professores. O professor pode visualizar quais matérias leciona em cada curso e lanças as notas de cada aluno. A escola também deseja extrair relatórios ou pesquisas sobre as matérias que o aluno cursa e vice-versa e ainda quais professores lecionam que matéria e vice-versa. Para que não haja confusão entre matérias com mesmo nome, mas em cursos e conteúdos diferentes, e ainda considerando que podem existir várias turmas do mesmo curso e no mesmo semestre, todas as matérias possuirão um código. Assim, matemática I da turma A do curdo de Administração terá um código de matéria diferente de matemática I do mesmo curso de Administração da turma B. Será diferente também da matemática I de qualquer outro curso. Desta forma cada código de matéria terá somente um professor responsável. 13) Uma empresa de informática presta consultoria para vários clientes desenvolvendo projetos de sistemas envolvendo banco de dados. Cada filial dessa consultoria possui seus próprios clientes, não podendo uma filial prestar serviços a clientes de outra. Podem, porém, os funcionários de uma filial serem utilizados por outra quando isso for necessário. Como “em casa de ferreiro o espeto é de pau”, a consultoria não dispõe de um sistema que aponte: que funcionários estão alocados em qual projeto; horas de funcionamento em cada projeto; qual projeto pertence a qual cliente; a qual filial o cliente está vinculado e o total de horas de cada projeto. 14) 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. 15) Estudo de Caso – Sistema de reserva de passagens aéreas O objetivo do trabalho é 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 é feira por um único passageiro, do qual se conhece apenas o nome. 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, ao fazer a reserva, os clientes querem saber qual é o tipo de aeronave que será utilizada em determinado trecho de vôo. Alguns poucos vôos, principalmente internacionais, têm torça 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 fazer: 1. possibilidades de viagem de uma cidade ou de um aeroporto para outro 2. o mesmo, mas restrito a determinados dias da semana 3. horários de chegada ou de saída em determinados vôos 4. disponibilidade de vagas em um trecho de vôo 5. disponibilidade de determinados assentos em um trecho de vôo 16) Estudo de Caso – Sistema para locadora de veículos O objetivo deste estudo de caso é construir um modelo ER para o banco de dados de uma empresa de locação de veículos. A empresa em questão aluga carros, ônibus e caminhões. Ela 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 e CIC. Já para as pessoas jurídicas é necessário conhecer seu nome, CGC, inscrição estadual e endereço. Os clientes são identificados por um código interno na locadora. A empresa tem uma grande rede de filiais, espalhada pelo sul do 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 chassi, o número do motor, o tipo de veículo e a cor de cada veículo. O sistema de computador deverá registrar: 1. os veículos disponíveis em determinada filial na data corrente 2. as reservas para veículos em uma filial, com previsão de que veículos estarão disponíveis em uma data futura 3. 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, classificando 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 ônibus as informações são as mesmas, para caminhões, as informações acima não são relevantes. Neste caso, os clientes desejam saber a capacidade de carga. A seguradora, 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 de locação. 17) Elabore um modelo Entidade-Relacionamento para o texto descrito abaixo: A MultiClínica Ltda. é uma clínica médica que reúne vários médicos de diversas especialidades. Além dos médicos existem alguns enfermeiros, duas secretárias, duas serventes e dois seguranças, sendo todos considerados como funcionários da clínica, inclusive os médicos. Há uma ficha para cada funcionário que registra matrícula, nome, endereço, telefone e data de admissão na clínica. Para os médicos, em especial, são anotados, além dos dados já citados, a especialidade dele, o número do registro no CRM (Conselho Regional de Medicina) e a data de obtenção deste registro. A fig. 1mostra a ficha de registro dos pacientes que procuram a clínica. A maioria dos pacientes possui um convênio com algum plano de saúde (na verdade, ele pode ter mais de um, mas somente um é usado para consultas na clínica). Na ficha é anotada a categoria do paciente dentro do convênio, o que é importante para estipular o preço da consulta, pois muitos convênios, como o IPE, por exemplo, estabelecem uma categoria para cada associado e fornece uma tabela de preços de consultas por categoria. Este é o preço que o convênio irá pagar à clínica pela consulta realizada pelo seu associado. Todo paciente tem na clínica o seu médico de preferência (um só) e é atendido por ele, em geral. É o médico da pessoa. Todavia, eventualmente ela pode consultar com outro, porque o seu médico viajou ou ela está com algum problema de outra especialidade. O prontuário é o lugar onde são registradas todas as informações sobre o estado clínico do paciente (seus sintomas, os exames que foram pedidos, os remédios receitados etc.). Em geral é o médico que faz as anotações durante a consulta, mas também um enfermeiro ou mesmo a secretária pode fazer ali algum lançamento. Quem anota coloca seu número de matrícula e rubrica no campo indicado. O prontuário continua no verso da ficha e quando ela enche nova ficha é grampeada a esta para continuar o prontuário. Existe uma outra ficha que registra as consultas realizadas, cujo desenho aparece na fig. 2. Algumas observações adicionais: - A especialidade da consulta corresponde à do médico que a atende; - Se o paciente não tem convênio, este é preenchido com o nome de particular e o preço da consulta é estipulado pela clínica.