Disciplina do 6º Semestre (turno Noturno)
Carga Horária: 60h
Sala: Lab3 / Lab4Lab3
Horários: Terça (18:30–20:10) e Quinta (20:10–21:50)
Planilha de notas e frequência:
Lista de discussão:
https://groups.google.com/d/forum/bd_noite_2016-1
Clique em Inscrever-se para associação, selecione a opção Receber um e-mail para cada nova mensagem e depois clique em Solicitar para participar deste grupo.
E-mail da lista: bd_noite_2016-1@googlegroups.com
Cronograma:
ETAPA 0 - Proposta (12/07; sem reposição)
Cada grupo (duplas ou trios) deve definir um "minimundo" para o qual seria útil um software para gerenciamento de dados. Exemplos: Agência de Viagens, Bar, Concessionária, Escola, Farmácia, Imobiliária, Madeireira, Mercado, Mortuária, Panificadora, Pet Shop, Restaurante, Universidade.
Nesta etapa, o grupo deve agir como um "cliente" que está pensando em informatizar seu negócio ("minimundo"), mas não entende muito de Computação/BD.
ATENÇÃO! As entregas das etapas do projeto serão feitas da seguinte forma: cada equipe deve colocar seus arquivos em uma pasta compartilhada com o professor (via Google Drive), colocando o link da pasta compartilhada neste documento.
Arquivo esperado para esta etapa: Proposta_Aluno1_Aluno2.pdf
Arquivo em PDF com apenas uma página com identificação da equipe e descrição do "minimundo".
ETAPA 1 - Esquema Entidade e Relacionamento (24/07; reposição: até a data de entrega da Etapa 2)
Com base na proposta, o grupo deve começar a projetar um banco de dados, elaborando um Esquema Entidade e Relacionamento (lembrem-se do Dicionário de Dados).
Usar o brModelo para elaborar o esquema.
Arquivos esperados para esta etapa: EsquemaConceitual_Aluno1_Aluno2.brM e EsquemaConceitual_Aluno1_Aluno2.pdf
O arquivo em PDF deve seguir uma estrutura de relatório: Capa (identificação da equipe e do minimundo modelado); Introdução (apresentação geral do minimundo modelado e do trabalho realizado); Desenvolvimento (a imagem do esquema entidade e relacionamento, além de uma explicação sobre o esquema, incluindo o Dicionário de Dados); Conclusão; Referências.
ETAPA 2 - Esquema Relacional (16/08; reposição: até a data da Reposição da 1ª Prova)
O grupo deve transformar o Esquema Entidade e Relacionamento da Etapa 1 em um Esquema Relacional.
Devem ser apresentados também dados em tabelas, para ilustrar o esquema criado. Exemplo aqui.
OBS.: Nesta etapa, é necessário apenas o esquema textual (o diagramático será na próxima etapa, usando o MySQL Workbench).
Seguir uma estrutura de relatório: Capa (identificação da equipe e do minimundo modelado); Introdução (apresentação geral do minimundo modelado e do trabalho realizado); Desenvolvimento (o esquema relacional e o esquema entidade e relacionamento — incluindo possíveis mudanças —, além da explicação das decisões tomadas ao transformar o esquema conceitual em um esquema lógico); Conclusão; Referências.
Arquivo esperado para esta etapa: EsquemaLogico_Aluno1_Aluno2.pdf
O arquivo em PDF deve seguir uma estrutura de relatório: Capa (identificação da equipe e do minimundo modelado); Introdução (apresentação geral do minimundo modelado e do trabalho realizado); Desenvolvimento (o esquema relacional e o esquema entidade e relacionamento — incluindo possíveis mudanças —, além da explicação das decisões tomadas ao transformar o esquema conceitual em um esquema lógico); Conclusão; Referências.
ETAPA 3 - Criação de Tabelas e Inserção de dados no MySQL (25/09; reposição: até a data de entrega da Etapa 4)
Utilizando o MySQL Workbench, crie tabelas e insira alguns dados, com base no Esquema Relacional da Etapa 2.
Arquivos esperados para esta etapa: EsquemaLogico_Aluno1_Aluno2.mwb (esquema diagramático para criação das tabelas) e TabelasEInsercoes_Aluno1_Aluno2.sql (com a criação das tabelas e as inserções, incluindo criação do esquema).
OBS.: se o esquema for modificado entre a Etapa 2 e a Etapa 3, deve ser criado um arquivo comentando as alterações (AlteracoesEsquemaLogico_Aluno1_Aluno2.pdf).
ETAPA 4 - Consultas (25/10 04/10; reposição: até a data de entrega da Etapa 5)
Com base no BD projetado nas etapas anteriores, cada grupo deve implementar consultas a serem definidas pelo professor, além de pelo menos mais 5 criadas pelo grupo (será considerado o nível de dificuldade destas consultas!).
Arquivo esperado para esta etapa: Consultas_Aluno1_Aluno2.sql (código em SQL correspondente a cada consulta elaborada pelo professor, além das elaboradas pelo grupo; deve-se ter também a descrição das consultas)
OBS.: atualizar o arquivo TabelasEInsercoes_Aluno1_Aluno2.sql (da Etapa 3) para contemplar possíveis inserções/alterações nas tabelas.
ETAPA 5 - Conexão entre o BD projetado e Java (25/10 13/10; sem reposição)
Usar JDBC para integrar o BD projetado nas etapas anteriores com um aplicativo simples, usando Java, por meio do qual seja possível inserir, atualizar, deletar e listar dados referentes ao "minimundo" proposto na Etapa 0.
Deve ser possível também realizar algumas consultas (da Etapa 4).
Esta etapa deve ser apresentada em sala! (levar notebook ou configurar o projeto nos computadores do laboratório; sugestão: gravar screencast).
ADICIONAL: Usar Interface Gráfica (sugestão: uso do plugin WindowBuilder para Eclipse), criando, portanto, uma versão alpha do software que o "cliente" descreveu na Etapa 0.
Ementa:
Conceitos Básicos: Arquitetura de um Sistema de Banco de Dados, Modelos de Dados, Linguagens de Definição e Manipulação de Dados. Modelagem de Dados. Modelos de Dados: Relacional, Hierárquicos e de Redes. Projeto de Banco de Dados Relacional: Dependência Funcional, Chaves, Normalização, Visões, Integração de Visões. Abrindo uma conexão com um SGBDR (JBDC). Executando comandos SQL. Transações. Otimização de Consultas. Controle de Concorrência. Controle de Integridade. Segurança.
Bibliografia: (indicada na ementa do curso, disponível aqui)
Abreu, Maurício Pereira; Machado, Felipe Nery. Projeto de Banco de Dados: Uma visão prática. 16ª Edição. Editora Érica. 2009.
Alves, Willian Pereira. Fundamentos de Banco de Dados. Editora Érica. 2004.
Cerícola, Vincent Oswald. Oracle: Banco de Dados Relacional e Distribuído. Ed Makron Books. 2005.
Date, C. J. Uma Introdução aos Sistemas de Bancos de Dados. Editora Campus. 8ª edição. 2004.
Garcia-Molina, Hector; Ullman, Jeffrey D.; Widom, Jennifer D. Database Systems: The Complete Book. Prentice Hall. 2st edition, 2008.
Oracle USA, Inc. MySQL 5.6 Reference Manual. Disponível em: <http://dev.mysql.com/doc/refman/5.6/en/>. Acesso em: 01 de Agosto de 2011.
Silberschatz, Abraham; Korth, Henry F., Sudarshan, S. Sistema de Banco de Dados. 5ª Edição. Ed. Campus. 2006.
Outras referências e links úteis:
Livros-texto:
HEUSER, C. A. Projeto de banco de dados. 6. ed. Porto Alegre : Bookman, 2009. 282p. ISBN: 978-85-7780-382-8.
ELMASRI, R.; NAVATHE, S. B. Sistemas de banco de dados. 6. ed. São Paulo: Pearson Addison Wesley, 2011. ISBN: 978-85-7936-085-5.
brModelo (ferramenta para ensino de modelagem em banco de dados relacional)
Material do Prof. Cláudio Baptista (UFCG)
Apostila Caelum: Bancos de dados e JDBC
Apostila K19: SQL e Modelo Relacional
MySQL:
Download MySQL Installer (verifiquem no diretório MySQL se foi instalado o Connector J e o MySQL Workbench)
Manual de Referência do MySQL 4.1 [em português]) (é interessante a leitura especialmente dos Capítulos 3 e 6)
Manual do MySQL Workbench [em inglês]