Disciplina: Modelagem Conceitual e Projeto de Banco de Dados Professor Duncan Turma : 128 Data : 20 de agosto de 2007 Enunciado de trabalho prático O trabalho prático da disciplina versa sobre um sistema de informação (SI), cuja camada de persistência de dados deve ser modelada e implantada em computador. O único tema não admitido, como SI escolhido, é o da Biblioteca Universitária (sendo desenvolvido em aulas). O trabalho deve ser elaborado em trios (até 3 alunos). Etapa 1) Projeto Conceitual da Base de Dados Para um problema factível e interessante, a ser construído pelo grupo, modelar um esquema conceitual completo, ou Entidade-Relacionamento ou Orientado a Objetos (com a especificação dos atributos e restrições de integridade), contemplando: Modelagem Entidade-Relacionamento Modelagem Orientada a Objetos a) mínimo de 10 e máximo de 15 entidades; b) 2 relacionamentos com cardinalidade máxima n-m sendo que pelo menos 1 deles deve ter atributos; c) uma hierarquia de generalizaçãoespecialização com, pelo menos, 3 entidades; d) mínimo de 30 e máximo de 45 atributos, espalhados nas entidades/relacionamentos. a) mínimo de 10 e máximo de 15 classes; b) 2 associações com multiplicidade máxima n-m sendo que pelo menos 1 delas deve ter uma classe de associação vinculada; c) uma hierarquia de generalizaçãoespecialização com, pelo menos, 3 classes; d) mínimo de 30 e máximo de 45 atributos, espalhados nas classes. ATENÇÃO: não serão aceitas modelagens de sistemas de informação versando sobre problemas que atentem à moral e aos bons costumes, e que refiram, direta ou indiretamente, a atividades classificadas como contravenções ou crimes. Será considerada a criatividade e qualidade do Universo de Discurso (UdD) descrito e da modelagem realizada. O UdD deve ser completo e coerente, e devem ficar evidentes os requisitos informacionais a serem atendidos pelo SI. Em particular devem ser esclarecidos, de forma precisa, o objetivo do SI (e.g. “gerenciar o acervo de uma biblioteca, o conjunto de usuários, e os empréstimos e reservas de obras”), e as principais funcionalidades que devem ser atendidas (e.g. “informar a relação dos usuários, registrar por usuário os empréstimos, reservas e devoluções de obras, permitir o cadastramento de novos usuários”, etc). Pelo menos 6 (seis) funcionalidades são esperadas em cada UdD. Serão desconsideradas descrições que sejam meras leituras, em português, do esquema desenvolvido. Todas as entidades/classes e relacionamentos/associações redundantes e/ou desnecessários devem ser eliminados. Deve ser usado o recurso de atributos opcionais e repetitivos sempre que possível como medida para limitar o número de entidades/relacionamentos/especializações (ou classes, associações e especializações, na O-O). Serão desconsiderados todos os elementos diagramáticos cuja única razão de ser seja atingir os números mínimos acima descritos. O uso de uma ferramenta CASE nesta etapa do trabalho é fortemente recomendada, mas não obrigatória. Caso seja usada, no caso de existirem limitações notacionais na ferramenta CASE escolhida, os artifícios de modelagem necessários/usados não entram na contagem dos números mínimos solicitados. A modelagem conceitual entregue deve ser constituída de um diagrama ER ou diagrama de Classes UML, e de um dicionário de dados correspondente. No dicionário de dados, são particularmente Página 1 Trabalho Prático de MCPBD Duncan Disciplina: Modelagem Conceitual e Projeto de Banco de Dados Professor Duncan Turma : 128 Data : 20 de agosto de 2007 Enunciado de trabalho prático importantes a descrição do significado de cada entidade/relacionamento/atributo (ou classe/associação/ atributo na OO), o domínio dos atributos, todas as restrições de integridade não expressas no diagrama, bem como qualquer anotação pertinente. Caso uma ferramenta CASE seja usada, aconselha-se usar os recursos da ferramenta CASE para elaboração, também, do dicionário de dados (é obrigatório o uso de uma ferramenta CASE na etapa 2). Critérios de avaliação: criatividade, qualidade e coerência face aos requisitos quantitativos, objetividade e detalhamento da descrição, qualidade da modelagem (diagrama e dicionário), apresentação. Peso da etapa I: 35% Etapa 2) Revisão da Modelagem, Uso de Ferramenta CASE, Projeto Lógico da Base de Dados e Implementação O material entregue na primeira etapa será corrigido e entregue aos alunos, possivelmente com a solicitação de algumas melhorias. Também será entregue o enunciado de uma consulta a ser implementada. As melhorias eventualmente solicitadas bem como o enunciado da consulta devem ser observados e resolvidos FIELMENTE. O esquema conceitual deve ser corrigido, caso apresente problemas, e modelado usando os recursos da ferramenta CASE (DBMain ou Rational Rose). O dicionário de dados correspondente deve ser corrigido/completado, e também produzido com os recursos disponíveis na ferramenta CASE. O esquema resultante da modelagem conceitual deve então ser mapeado para o modelo relacional. Os alunos devem descrever todas as regras de transformação aplicadas sobre o esquema ER original para derivação do esquema relacional correspondente. Deve-se explicitar como cada entidade/classe, relacionamento/associação, atributo e hierarquia de generalização foi transformado em elementos do modelo relacional, e o porquê da estratégia escolhida. As meras descrições textuais das tabelas resultantes não são consideradas regras de transformação. Este esquema deve ser implementado usando o SGBD ORACLE. Devem ser inseridas um mínimo de instâncias interessantes para cada relação, de modo que se compreenda bem o UdD, e possa-se ainda detectar eventuais incorreções na modelagem. A consulta solicitada deve ser implementada, e os alunos devem colocar instâncias significativas em sua base de dados, de forma que toda consulta retorne pelo menos duas instâncias. Conselho: coloquem instâncias variadas, que representem vários casos distintos, de modo a testar a correção de sua consulta. Retornar uma resposta certa não significa que a consulta esteja certa: pode ser circunstancial considerando o conjunto de dados existente. ATENÇÃO: O enunciado da consulta é como enunciado de questão de prova. Portanto, a resolução da mesma deve atender FIELMENTE seu respectivo enunciado. Se forem definidos nomes de pessoas/ empresas/ materiais hipotéticos, estes devem ser utilizados exatamente como foram propostos, sem abreviaturas, substituições ou codificações. Critérios de avaliação: correção e melhoria da descrição da realidade (UD) e da modelagem correspondente (diagrama e dicionário), uso adequado dos recursos da ferramenta CASE escolhida (notação, diagramação, dicionário de dados), projeto relacional (regras de mapeamento), implementação (escolha de tabelas e construtores apropriados), apresentação. Peso da etapa II: 65% Página 2 Trabalho Prático de MCPBD Duncan Disciplina: Modelagem Conceitual e Projeto de Banco de Dados Professor Duncan Turma : 128 Data : 20 de agosto de 2007 Enunciado de trabalho prático Cronograma de Desenvolvimento O trabalho prático é constituído de duas partes, sujeitas ao seguinte cronograma: 1. (35%) Descrição do Universo de Discurso e modelagem conceitual (uso de ferramenta CASE é recomendado mas não obrigatório), Devolução, pelo professor(a), da etapa 1 corrigida, definição dos números dos grupos e definição da consulta a ser realizada na etapa 2. 2. (65%) Modelagem conceitual, usando ferramenta CASE (Rational Rose ou DBMain), mapeamento para o modelo relacional, implementação em um SGBD (Oracle) e a consulta. Entrega: 05/10 Devolução: 31/10 Entrega: 28/11 Material a ser entregue pelo aluno: ETAPA 1: - Descrição (precisa, não ambígua, completa etc) do Universo de Discurso da aplicação. - Modelagem Conceitual: diagrama ER ou de Classes UML. - Modelagem Conceitual: dicionário de dados. ETAPA 2: - Material da Etapa 1 onde constam as correções feitas pelo professor. - Universo de discurso revisado, caso solicitado. - Modelagem Conceitual corrigida (diagrama e dicionário de dados), usando a ferramenta CASE DBMAIN ou Rational Rose. O uso de outras ferramentas é vedado. - Mapeamento para relacional, com as regras aplicadas no esquema conceitual para geração de cada relação para cada entidade, relacionamento, hierarquia de generalização. - DDL correspondente à implementação das relações em SQL usando o SGBD ORACLE, e comandos de inserção de dados. - Para a consulta definida pelo professor, enunciado em português, implementação equivalente em SQL usando o SGBD ORACLE, e resultados da consulta. Observações Gerais sobre o material a ser entregue pelos grupos/alunos: • Todo o material acima deve ser entregue IMPRESSO! • Adicionalmente, para a parte 2, deve ser entregue em arquivo, cuja forma de identificação e formato estarão definidos na ficha de avaliação da Etapa 1, junto com a consulta da etapa 2. • Itens constantes em meio magnético ou e-mail, mas não em papel, serão considerados como não entregues. Página 3 Trabalho Prático de MCPBD Duncan