Banco de Dados
Disciplina do 6º Semestre (turno Noturno)
Carga Horária: 60h
Sala: Lab 4 [adaptação: no lab3 às terças, antes de APS]
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_2015-2
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_2015-2@googlegroups.com
Cronograma:
Projeto da disciplina:
ETAPA 0 - Proposta (23/02)
Cada grupo (individualmente ou em dupla) 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.
ETAPA 1 - Esquema Entidade e Relacionamento (08/03)
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).
Sugestão: usar o brModelo para elaborar o esquema.
ETAPA 2 - Esquema Relacional (05/04)
Seguindo o projeto de BD, 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.
A entrega deve ser feita por e-mail (assunto: Projeto BD - Etapa 2), em arquivo PDF, seguindo 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 (14/04)
Utilizando o MySQL Workbench, crie tabelas e insira alguns dados, com base no esquema Relacional da Etapa 2.
A entrega deve ser feita por e-mail (assunto: Projeto BD - Etapa 3). Deve-se enviar um arquivo .mwb (esquema para criação das tabelas) e um arquivo .sql (com a criação das tabelas e as inserções).
Se o esquema foi modificado entre a Etapa 2 e a Etapa 3, deve ser comentado no email as mudanças.
ETAPA 4 - Consultas (
03 1524/05)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!).
A entrega deve ser feita por e-mail (assunto: Projeto BD - Etapa 4). Deve-se enviar um arquivo .sql com as consultas (além de reenviar o arquivo .sql da Etapa 3 possivelmente atualizado).
ETAPA 5 - Conexão entre o BD projetado e Java (24/05)
Usar JDBC para integrar o BD projetado nas etapas anteriores com um aplicativo simples, usando Java, por meio do qual é 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, um programa versão alpha do 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 Concorrencia. 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:
Livro-texto: HEUSER, C. A. Projeto de Banco de Dados. 4. ed. Porto Alegre : Sagra&Luzzatto, 2001. 215p.
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]