MAC0439 Laboratório de Bancos de Dados
Por | EmOBJETIVOS: Consolidar os principais fundamentos apresentados em uma disciplina introdutória de sistemas de bancos de dados. Explorar os aspectos práticos envolvidos no desenvolvimento de um sistema com banco de dados, o que inclui o uso de sistemas gerenciadores de bancos de dados e ferramentas de apoio ao projeto de bancos de dados.
PROGRAMA RESUMIDO: Especificação e implementação de um banco de dados com seus procedimentos de inserção, eliminação, atualização e consulta. Ferramentas de apoio para o desenvolvimento do projeto lógico e físico de bancos de dados. Gerenciamento de bancos de dados relacionais por meio de comandos da linguagem SQL: definição de dados e restrições; modificações e consultas sobre os dados; visões, gatilhos e procedimentos armazenados; segurança; transações; índices. Sintonia fina de bancos de dados relacionais. Integração de bancos de dados relacionais a sistemas de software.
PROGRAMA: Prática da especificação e implementação de um banco de dados relacional ou objeto-relacional com seus procedimentos de inserção, remoção, alteração e consulta. Ferramentas de apoio para o desenvolvimento do projeto conceitual, lógico e físico de bancos de dados. Introdução e prática de conceitos de gerenciamento de bancos de dados relacionais por meio do uso da linguagem SQL: Definição de dados e restrições; Modificações nos dados -- inserção, remoção e alteração; Consultas envolvendo junções, união, interseção e diferença de relações; Consultas envolvendo agrupamento e agregação; Consultas recursivas; Visões, gatilhos e procedimentos armazenados; Segurança, autorização; Transações; Índices. Técnicas para sintonia fina de banco de dados relacionais. Integração de bancos de dados relacionais a sistemas de software: Padrões arquiteturais para o acesso a bancos de dados. Arcabouços para persistência em bancos de dados. Prática da implementação de um sistema simples que empregue dados semi-estruturados como solução para o gerenciamento de seus dados. Prática da implementação de um sistema simples que empregue um banco de dados não relacional como solução para o gerenciamento de seus dados.
RESPONSÁVEIS: João Eduardo Ferreira, Marcelo Finger e Kelly Rosa Graghetto.
PRÉ-REQUISITOS: MAC0350.
CARGA HORÁRIA SEMANAL E NÚMERO DE CRÉDITOS: 6 horas, 4 créditos-aula e 2 créditos-trabalho.
CRITÉRIO DE AVALIAÇÃO DA APRENDIZAGEM:
Método: aulas expositivas e laboratório de programação.
Critério: média ponderada de provas e exercícios.
Norma de recuperação: média ponderada da nota final e de provas e/ou tarefas de recuperação.
BIBLIOGRAFIA BÁSICA:
- T. J. Teorey, S. S. Lightstone, T. Nadeau, H. V. Jagadish, Database Modeling & Design: Logical Design, 5th edition, Morgan Kaufmann Publishers, 2011.
- H. Garcia-Molina, J. D. Ullman, J. Widom, Database Systems: The Complete Book, 2nd ed., Pearson Prentice Hall, 2009.
- R. Elmasri, S.B. Navathe, Sistemas de Bancos de Dados, 6a ed., Addison-Wesley, 2011.
- C.J. Date, Introdução a Sistemas de Bancos de Dados, 8a ed., Campus, 2004.
- D. Shasha, P. Bonnet, Database Tuning: principles, experiments and troubleshooting techniques, Morgan Kaufmann Publishers, 2002.
- P.J. Sadalage, M. Fowler, NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence, Addison Wesley, 2011.
- Manuais das ferramentas de apoio ao desenvolvimento de banco de dados e dos gerenciadores de bancos de dados.
OBSERVAÇÃO: Disciplina optativa eletiva no currículo do BCC.
[Veja dados da disciplina no JúpiterWeb]