Engenharia de Sistemas P2-2015-01 Prazo Final para entrega: 26/07/2015 às 24:00h Atenção! Sempre que possível você deverá responder às perguntas da prova usando o software MySQL (incluindo o MySQL Workbench). Se achar que isso não é possível para um ou mais itens, aponte o fato e apresente o texto relativo à sua resposta. 1. Desenvolva um esquema conceitual de Banco de Dados para uma das seguintes alternativas: i) um minimundo à sua escolha, desde que comparável em complexidade a um dos minimundos descritos em: a)loja de autopeças; b) livraria.; ii) alternativamente, caso lhe falte inspiração, você poderá escolher um dos dois minimundos acima: a) loja de autopeças; b) livraria. À luz dos conhecimentos adquiridos na cadeira de Banco de Dados reproduza este esquema conceitual, cuidando para que todas es entidades e relacionamentos pertencentes ao domínio do problema estejam corretamente representados (Observação: Não complique demais o seu modelo conceitual - " small is beatiful"). Certifique-se também que o seu modelo não terá dificuldades de responder às consultas (queries) que lhe serão solicitadas. 2. Transforme o seu Modelo Conceitual em um Modelo Relacional, utilizando-se para isto do Algoritmo apresentado no jogo de transparências #5, slides 85 a 103. Isto poderá ser feito usando-se a ferramenta case MySQL Workbench, a qual faz uso de um algoritmo similar. 3. A seguir, verifique as possíveis anomalias existentes em seu esquema, no caso de realizar operações de inserção, atualização e exclusão de registros na base de dados. Verifique também se existem violações às restrições de integridade do seu esquema. Aponte-as (as anomalias e as violações). A existência de anomalias é um indício de que o seu esquema tem alguns problemas. Para saná-las tente: i) Aplicar as diretrizes informais de Projeto de Banco de Dados (vide transparências #8, slides 11 a 24); 4. ii) Reduzir todas as tabelas de seu Esquema Lógico (Modelo Relacional) à 3a Forma Normal de Boyce-Codd (BCNF). Eventualmente considere também se o esquema de seu modelo relacional encontra-se nas 4a e 5a formas normais. Apresente agora um modelo já livre das referidas anomalias. 5. Implemente o seu modelo relacional no Sistema Gerenciadores de Banco de Dados Relacional free, MySQL. 6. Formule agora, 7 (sete) consultas ao seu Banco de Dados relativo ao minimundo selecionado por você, mostrando, para um potencial cliente, a versatilidade do seu banco de dados e o potencial de mesmo em recuperar informações sobre aquele minimundo. i) ii) Formule por escrito as consultas acima em: SQL; Álgebra Relacional; Query by Example (QBE); Cálculo Relacional de Tuplas; Cálculo Relacional de Domínios. Implemente as consultas em seu Banco de Dados em SQL e Query by Example. Boa Sorte! Prof. Oscar Luiz Monteiro de Farias