UNIVERSIDADE FEDERAL DE MINAS GERAIS INSTITUTO DE CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: INTRODUÇÃO A BANCO DE DADOS (DCC011) 1º SEMESTRE DE 2010 TRABALHO PRÁTICO 2 (Valor: 25 pontos) A APLICAÇÃO: Um importante canal esportivo deseja lançar um website que, após a Copa do Mundo de 2010, sirva como uma fonte de informação futura onde os seus telespectadores e torcedores em geral poderão consultar os resultados dos jogos realizados, como também obter informações relevantes sobre os países participantes e suas equipes, além de estatísticas diversas sobre a competição. Para desenvolver esse website, o canal esportivo contratou você e um colega para projetar e criar um banco de dados relacional para armazenar os dados referentes à Copa do Mundo de 2010. A partir do banco de dados criado, outro profissional será contratado para desenvolver o website. De qualquer modo, o banco de dados deve permitir que todas as consultas necessárias possam ser executadas eficientemente. Além disso, como o profissional do website não é um especialista em SQL, você terá de lhe entregar todos os comandos SQL necessários para criar, atualizar e consultar o banco de dados. CARACTERÍSTICAS BÁSICAS DO BANCO DE DADOS [até 40%]: Para cada país participante, o banco de dados deverá armazenar, entre outros, o seu nome, o nome de sua capital, sua atual população e forma de governo, e o continente onde está situado, além, claro, do nome do seu técnico e da relação de seus jogadores. Para cada jogador, deverão ser armazenados o seu nome, a sua data de nascimento, o seu atual clube e a sua posição em campo. Finalmente, para cada jogo realizado, deverão ser armazenados a data, a fase da copa e o nome estádio em que foi realizado, além do placar final e da relação de goleadores. AS CONSULTAS [até 40%]: Lembre-se que o profissional que desenvolverá o website não é especialista em SQL. Desse modo, você deve fornecer todas as consultas SQL para a interface que ele vai desenvolver. Mesmo considerando que o volume de dados relativos a uma copa do mundo não é muito grande, é importante que as consultas sejam formuladas da forma mais eficiente possível. Desse modo, para cada consulta prevista, você e o seu colega deverão realizar uma avaliação de desempenho considerando opções como junção nas cláusulas FROM ou WHERE, consultas aninhadas ou não, índices em colunas ou não, entre outras. CARACTERÍSTICAS AVANÇADAS DO BANCO DE DADOS [até 20%]: Além das características básicas, para que o website fique bastante atraente é interessante que o banco de dados armazene também dados de tipo não-convencional, tais como fotos dos jogadores e de jogadas importantes (por ex., gols, pênaltis), imagens diversas referentes aos países participantes, vídeos e depoimentos sobre os jogos, entre outros. Lembre-se que para oferecer tal funcionalidade, o desenvolvedor do website deverá ser capaz de acessar tais dados facilmente por meio de consultas SQL previamente fornecidas a ele. Observações: 1. O trabalho deverá ser feito em dupla. A constituição de cada dupla deverá ser informada ao monitor durante a aula do dia 19 de maio, impreterivelmente. Duplas informadas após essa data serão penalizadas na nota final. 2. Deverão ser utilizados o ambiente MySQL Workbench (http://dev.mysql.com/workbench) para definição e criação do banco de dados e o SGBD MySQL (http://www.mysql.com) para a sua implementação. Para utilizar outras ferramentas, consulte antes o professor. A definição do banco de dados (projeto lógico), porém, deverá ser precedida do projeto conceitual, para o qual deverá ser usado, preferencialmente, o modelo ER, podendo ser utilizada para a sua documentação qualquer ferramenta gráfica (específica ou não) disponível. 3. A avaliação do trabalho será feita com base em um relatório final e em uma demonstração a ser feita em sala de aula conforme calendário a seguir. Além da funcionalidade básica prevista (função do banco de dados projetado), a avaliação irá considerar também a criatividade e a diversidade das consultas especificadas. 4. Calendário: a. 19 de maio: Constituição da dupla informada por escrito ao monitor. b. 31 de maio: Entrega do esquema conceitual do banco de dados (diagrama ER) c. 23 de junho: Entrega do relatório final impresso. d. 28 e 30 de junho: Demonstração em aula (escala de apresentações a ser divulgada posteriormente). 5. O relatório final deverá ser entregue impresso, de preferência frente-e-verso, e ter no máximo doze páginas (incluindo os resultados das consultas especificadas executadas sobre o banco de dados). Evite gastar recursos com capa e contra-capa bem como com pastas plásticas. Para identificar o seu trabalho, utilize apenas um cabeçalho (como o deste enunciado) seguido dos nomes dos alunos que compõem a dupla. O relatório final deve incluir os esquemas conceitual e lógico (relacional) do banco de dados criado e as principais consultas especificadas. Essas consultas devem ser definidas através de uma explicação textual e do respectivo comando SQL, acompanhado de algumas informações sobre o desempenho da mesma em relação a outras possíveis opções. O relatório final deve conter também o resultado da execução de cada consulta especificada. O relatório deverá conter ainda uma autoavaliação da dupla que descreva as tarefas executadas por cada um de seus componentes. 6. Para a demonstração em sala de aula, o banco de dados deverá ser instanciado com os dados de uma das copas já realizadas. Para isso, consulte o website da FIFA (http://www.fifa.com/worldcup/archive).