P R O J E T O: C A R N A V A L. 2. Informações Básicas sobre o Sistema a ser Desenvolvido

Documentos relacionados
PROJETO: CONFERÊNCIA ACADÊMICA. 2. Informações Básicas sobre o Sistema a ser Desenvolvido

Segunda Parte do Trabalho Prático (Parte II) Valor: 70%

Trabalho Prático. Descrição Considere os seguintes dados a respeito de uma pessoa:

Primeiro Trabalho Prático Turma A. Descrição do Trabalho. Considere os seguintes dados a respeito de um livro:

Primeira Parte do Trabalho Prático (Parte I) Valor: 30% Descrição do arquivo de dados

Segundo Trabalho Prático Turma A

Trabalho Prático. Primeira Parte do Trabalho (Parte I): peso 40%

Bancos de Dados Aula #2 - Modelos Conceituais de Dados

Quinto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice árvore-b.

Modelagem de dados usando MER. Andre Noel

Segunda Parte do Trabalho Prático (Parte II) Valor: 60% Descrição do índice

Victor Hugo Andrade Soares monitor João Vitor dos Santos Tristão Primeiro Trabalho Prático

Quarto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice simples ou linear. Descrição de páginas de disco

Terceiro Trabalho Prático. Este trabalho tem como objetivo ordenar um arquivo de dados e implementar as operações cosequenciais de merging e matching.

Segundo Trabalho Prático

Modelo Relacional Wendel Melo

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

Segundo Trabalho Prático

Primeira Parte do Trabalho Prático (Parte I) Valor: 40% Descrição do arquivo de dados

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS

Computação Instrumental

Arquitetura de um Ambiente de Data Warehousing

Fundamentos de Bancos de Dados 3 a Prova

Aula 01 Conceito de Banco de Dados e SGBD

Revisão e Exercícios. Relacionamento. Projeto de Bancos de Dados. Chave e Domínio. Tipos de Atributos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Modelos. Banco de dados. Professor: Jarbas Araújo CENTRO EDUCACIONAL RADIER.

UNIVERSIDADE FEDERAL DE SÃO CARLOS CAMPUS SOROCABA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO. Orientações para Projeto

Revisando Banco de Dados. Modelo Relacional

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

Projeto Banco de Dados

DCC011 Introdução a Banco de Dados Definição do Trabalho Final

Modelagem Conceitual parte I

Modelagem Conceitual parte I

Modelo Entidade Relacionamento

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS MODELO ENTIDADE- RELACIONAMENTO

BANCO DE DADOS - MODELAGEM DE DADOS

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Modelo Relacional. Aula 02

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

DCC011 Introdução a Banco de Dados. Construindo o Esquema. 1. Propriedades de Modelos ER. Construindo Esquema Conceitual

Introdução a B anco de Dados. INE5206 Introdução à Informática INE/CTC/UFSC Prof. Roberto Willrich

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações

Trabalho Prático. Descrição do arquivo de dados

Universidade de São Paulo Escola de Artes, Ciências e Humanidades Disciplina: Laboratório de Banco de Dados Profa. Fátima Nunes

Arquitetura de um Ambiente de Data Warehousing

Conceitos Básicos de Banco de Dados

BCD29008 Banco de dados

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado

Modelagem Conceitual e o Modelo Entidade-Relacionamento

Banco de Dados 08/08/2010

2 Versão 1: Funcionalidade Básica e Interface Web

Banco de Dados Modelagem e Normalização

Departamento de Ciências de Computação SCC Instituto de Ciências Matemáticas e de Computação ICMC Universidade de São Paulo USP

Modelo Relacional Wendel Melo

PROJETO DE BANCO DE DADOS -PROJETO CONCEITUAL. Prof. Angelo Augusto Frozza, M.Sc.

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1/64

Ciclo de Desenvolvimento de BD

18/03/2012. Independência de Dados: capacidade de modificar a definição dos esquemas em. determinado nível, sem afetar o esquema do nível superior;

UML. Modelando um sistema

1. INTRODUÇÃO A MODELAGEM DE DADOS

Banco de Dados I 3 Modelagem de Dados Lógico e Físico

Modelagem de Sistemas Web. Modelagem de BD

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Disciplina: Banco de Dados I Professora: Ms. Márcia Jani. Trabalho de BD1

Adriano Maranhão PROFISSIONAIS E ATIVIDADES ENVOLVIDAS EM UM SGBD

Banco de Dados Modelagem e Normalização

MODELO DE BANCO DE DADOS RELACIONAL

Banco de Dados. Aula 3 - Prof. Bruno Moreno 26/08/2011

Banco de Dados I Modelagem Conceitual

Introdução. Introdução. Álgebra Relacional. Linguagens formais de Consulta Modelo Relacional. O que foi visto até agora...

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

MAPEAMENTO OBJETO RELACIONAL. Professora Lucélia Oliveira

Revisão de Bancos de Dados

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Requisitos de sistemas

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

MODELAGEM DE DADOS UNIDADE 4 Modelo Entidade-Relacionamento. Luiz Leão

Unidade 3 23/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

12.4 DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade

Modelo Entidade-Relacionamento

Modelos em Sistemas de Informação. Aula 3

Modelo Relacional. Relacionamento. Processo de Projeto de. Programa. Modelo Entidade Relacionamento

Modelo de Dados Wendel Melo

PROJETO DE BANCO DE DADOS

Banco de Dados II. Prof. Fiorin

Sistemas de Banco de Dados

BANCO DE DADOS. Engenharia da Computação Univasf. Modelo Entidade-Relacionamento. Aula 2. Conjuntos de Entidades - Representação Exemplo:

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar

Aula 3 - Modelo Entidade-Relacionamento

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS

Análise e Projeto de Sistemas I

Transcrição:

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri P R O J E T O: C A R N A V A L 1. Objetivo Este projeto tem por objetivo reforçar o conhecimento do aluno com relação à modelagem de um problema do mundo real e ao desenvolvimento de uma aplicação de banco de dados. 2. Informações Básicas sobre o Sistema a ser Desenvolvido Deseja-se criar um banco de dados que armazene informações relacionadas ao carnaval. As informações a serem mantidas referem-se: aos sambódromos Cada sambódromo possui um endereço específico, uma data de inauguração, um conjunto de nomes de fundadores e assim por diante. Adicionalmente, os sambódromos são divididos em diversos setores, cada qual com características e particulares e, consequentemente, preços específicos. Exemplos de setores incluem arquibancada simples, arquibancada coberta, camarote simples, camarote especial. aos campeonatos estaduais das escolas de samba Os campeonatos estaduais são realizados todos os anos nos estados de São Paulo e Rio de Janeiro. Cada campeonato divide as escolas em dois grupos: grupo de acesso e grupo especial. Os grupos são julgados separadamente e uma escola de samba é eleita campeã de cada grupo. Para cada campeonato cadastrado no sistema, devem ser armazenadas informações tais como o ano de realização, a data de início e fim, os jurados, o regulamento, etc; às escolas de samba e aos blocos que as constituem Sobre as escolas deseja-se armazenar informações tais como: nome completo, nome fantasia, cores representativas, endereço da sede, diretoria e seus respectivos cargos. Além disso, também deseja-se armazenar, para cada campeonato no qual a escola de samba participa, o enredo, os blocos que compõem a escola, a descrição desses blocos, os integrantes de cada bloco, os equipamentos que compõem os blocos, a data na qual a escola desfilou, a hora de início e fim do desfile, o tempo que o desfile demorou. Note que a diretoria é dividida em cargos (e.g., presidente, vice-presidente, tesoureiro), sendo renovada a cada ano. Cada cargo tem um conjunto de tarefas específicas a serem desempenhadas. aos jurados Para os jurados, deseja-se armazenar informações detalhadas sobre seus dados pessoais. Deseja-se armazenar também qual a principal atividade do jurado. Cada 1

jurado participa de um dia de desfiles e julga apenas um quesito para todas as escolas que participaram naquele dia. Exemplos de quesitos julgados pelos jurados são: bateria, harmonia e samba enredo. aos integrantes Para os integrantes das escolas, deseja-se armazenar informações detalhadas sobre seus dados pessoais. Deseja-se armazenar também qual as funções que ele desempenha na escola, e a data de início e fim dessas funções. aos espectadores Para os espectadores, deseja-se armazenar informações detalhadas sobre seus dados pessoais. Deseja-se armazenar também qual a data que ele foi assistir ao carnaval, qual o valor do ingresso que ele pagou, em que setor do sambódromo ele ficou. aos patrocinadores Sobre os patrocinadores deseja-se armazenar informações tais como CNPJ, nome da empresa, endereço, telefone, pessoa de contato. Por um lado, um patrocinador pode patrocinar várias escolas de samba, com patrocínios de diferentes valores a cada ano. Adicionalmente, uma escola de samba pode ser patrocinada por diferentes patrocinadores. Por outro lado, patrocinadores também podem patrocinar setores específicos dos sambódromos. Nesse sentido, um patrocinador pode patrocinar diferentes setores específicos e um setor específico pode ser patrocinado por diferentes patrocinadores. O banco de dados será utilizado por uma empresa que disponibilizará informações estatísticas na Internet sobre os campeonatos de carnaval. Essa empresa está interessada, por exemplo, que o usuário consulte: Qual foi a ordem de desfile das escolas de samba do carnaval do Rio de Janeiro de 2011? Qual a tabela de classificação de cada campeonato? Qual as notas da escola de samba Mangueira por quesito por jurado no carnaval do Rio de Janeiro de 2011? Quais as personalidades que desfilaram na escola de samba Mangueira? Qual a principal atividade dessa personalidade? Qual o valor monetário arrecadado por setor no carnaval do Rio de Janeiro de 2011? Quais as escolas de samba patrocinadas pelo Banco do Brasil desde 1980? Qual o valor do patrocínio da Petrobrás para a escola de samba Mangueira no ano de 2002? Qual o valor do patrocínio da Brahma por setor no carnaval do Rio de Janeiro de 2011? OBS 1: É importante destacar que a descrição do problema do mundo real realizada nessa seção não é completa, e precisa ser refinada. A referida descrição apenas identifica algumas informações importantes que devem ser modeladas. Essas informações, assim como quaisquer outras informações úteis, devem ser especificadas mais detalhadamente na seção 3.3. 2

OBS 2: Atentem-se ao fato de que algumas informações podem ser obtidas a partir de outras informações armazenadas. 3. Estrutura Geral do Projeto O projeto deve conter os seguintes itens: 3.1 Capa As seguintes informações devem ser fornecidas na capa do projeto: o nome da instituição, o nome do curso, o nome da disciplina, o nome do professor responsável, o nome do projeto, o nome dos participantes e os respectivos números, e a data de entrega do projeto. 3.2 Índice O índice deve listar os nomes das seções que compõem o projeto e as suas respectivas páginas de início. 3.3. Especificação do Problema Esta seção deve descrever detalhadamente as características do problema do mundo real sendo modelado. Em especial, devem ser especificados: as características dos tipos-entidade e dos seus respectivos atributos; e as funcionalidades dos tipos-relacionamento existentes entre os tipos-entidade modelados. Em outras palavras, para cada tipo-entidade, explicar seu significado; para cada atributo, explicar seu significado; para cada tipo-relacionamento, explicar sua semântica e cardinalidade, para cada hierarquia de generalização/especialização, explicar sua semântica e as restrições que atuam sobre ela; para cada atributo derivado, explicar porque ele é derivado e como ele pode ser obtido; e assim por diante. OBS 1: Lembre-se que o projeto será analisado por uma pessoa que não participou do desenvolvimento do mesmo. Assim, quaisquer particularidades ou características interessantes da modelagem devem ser descritas nessa seção. 3.4 Esquema Conceitual Essa seção deve exibir o esquema conceitual (ou seja, o modelo entidaderelacionamento) para o problema do mundo real sendo analisado, de acordo com a descrição do problema realizada na seção 3.3. No projeto do esquema conceitual, devem ser utilizados tanto conceitos do modelo entidade-relacionamento básico quanto conceitos do modelo entidade-relacionamento estendido. 3

OBS 1: Certifique-se de que o esquema conceitual realmente reflete as características do sistema sendo modelado. Questões importantes tais como chaves primárias, atributos de relacionamento, restrições de cardinalidade e de participação, hierarquias de especialização/generalização e agregação devem ser cuidadosamente verificadas. OBS 2: O diagrama do esquema conceitual deve seguir, obrigatoriamente, a mesma notação utilizada em sala de aula. 3.5 Esquema Relacional Nessa seção deve ser identificado o conjunto de relações que especificam o banco de dados relacional a ser implementado. Para tanto, deve ser realizado o mapeamento do esquema conceitual apresentado na seção 3.4 para o esquema relacional. O mapeamento realizado deve estar de acordo com as regras de mapeamento discutidas em sala da aula. Em diversas situações, mais do que uma regra de mapeamento pode ser aplicada ao mesmo conceito. Nessas situações, deve-se escolher apenas uma regra de mapeamento a ser aplicada. Essa escolha deve ser justificada no projeto. 3.6 Normalização Essa seção deve, para cada uma das relações especificadas na seção anterior, identificar se elas encontram-se ou não na Terceira Forma Normal (3FN). Dois grupos de relações devem ser especificados: (a) relações a serem normalizadas. Para cada relação a ser normalizada: (i) identifique quais as dependências funcionais que se aplicam sobre a relação (menos para a 1FN); (ii) justifique porque a relação não se encontra na forma normal em questão; e (iii) normalize a relação, especificando as relações originadas; e (b) relações já normalizadas. Explique, apenas uma única vez, porque todas estas relações já se encontram na 3FN. Para tanto, você deve explicar: (i) porque as relações estão na 1FN; (ii) porque as relações estão na 2FN; e (iii) porque as relações estão na 3FN. Para cada relação que já se encontra normalizada, especifique as dependências funcionais que comprovam este fato. Caso haja relações a serem normalizadas, esta seção deve ser organizada da seguinte maneira. Inicialmente, devem ser apresentadas cada uma das relações que não estão na 3FN, juntamente com a sua normalização (item a destacado anteriormente). Em seguida, devem ser especificadas todas as relações já normalizadas (item b destacado anteriormente). Finalmente, o conjunto de relações obtidas na seção 3.5 deve ser reescrito de maneira a incorporar as alterações propostas nessa seção (esquema geral final do banco de dados). 4

Por outro lado, caso não haja nenhuma relação a ser normalizada, esta seção deve ser organizada da seguinte maneira. Apenas o item b destacado anteriormente deve ser realizado. As relações obtidas na seção 3.5 não precisam ser reescritas nessa seção. 3.7 Implementação A implementação da aplicação de banco de dados pode ser realizada utilizando-se qualquer SGBD (Sistema Gerenciador de Banco de Dados) e qualquer linguagem de programação. A implementação da aplicação consiste no desenvolvimento de uma interface por meio da qual consultas e operações (de inserção, de remoção e de atualização) podem ser realizadas. Estas consultas e operações devem ser implementadas para todas as tabelas do banco de dados. OBS: A interface desenvolvida não consiste na simples digitação dos comandos SQL destacados nas seções anteriores. Ou seja, assuma que o usuário não tem conhecimento de SQL e, portanto, precisa acessar os dados armazenados no banco de dados via menu de opções. 4. Documentação, Restrições, Partes do Projeto e Critério de Avaliação 4.1 Documentação Em adição à documentação descrita na seção 3, cada grupo deve entregar o código fonte de sua implementação (i.e., código fonte e código executável). 4.2 Restrições As instâncias a serem inseridas no banco de dados e utilizadas nas consultas a serem exibidas na apresentação do trabalho devem refletir instâncias do mundo real. Grupos que inserirem palavras ofensivas no banco de dados terão suas notas finais iguais a zero (nota = 0). 4.3 Partes do Projeto Primeira parte do projeto: seções 3.1, 3.2, 3.3, 3.4; Segunda parte do projeto: seções 3.1, 3.2, 3.3, 3.4, 3.5, 3.6; e Terceira parte do projeto: seções 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7. Ou seja, a entrega da terceira parte do projeto inclui a apresentação do mesmo (seção 3.7). As correções realizadas pela professora em uma parte do projeto devem ser realizadas pelo grupo para a próxima parte do projeto. Na entrega da segunda parte do projeto, o documento referente à primeira parte do projeto que contém as correções propostas pela professora também deve ser entregue. De forma similar, na entrega terceira parte do projeto, o documento referente à segunda parte do projeto que contém as correções propostas pela professora também deve ser entregue. 5

4.4 Critérios de Avaliação: A avaliação será feita individualmente por grupo, segundo os seguintes critérios: (i) qualidade e corretude da documentação externa (i.e, documentação que contém a estrutura geral do projeto); (ii) corretude da execução do programa quanto à realização de consultas e de operações de inserção, de remoção e de atualização; e (iii) apresentação. Nas datas de entrega das partes do projeto, será realizada uma avaliação individual sobre o trabalho desenvolvido. A realização desta avaliação é obrigatória para cada um dos integrantes do grupo. Integrantes que não realizarem esta avaliação terão a nota da parte do projeto igual a 0,0. A presença de todos os integrantes do grupo na apresentação do projeto é obrigatória. Integrantes que não puderem comparecer devem obrigatoriamente fazer uma entrevista com a professora. Para alunos que não comparecerem à apresentação e que não fizerem entrevista, a nota da terceira parte do projeto será 0,0. 6