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:

Link

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 15 24/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: