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.
Gerenciamento de bancos de dados relacionais por meio da linguagem Structured Query Language (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. Gerenciamento de bancos de dados não-relacionais. Ferramentas de apoio para o desenvolvimento do projeto de bancos de dados. Especificação e implementação de bancos de dados. Integração de bancos de dados a sistemas de software.
1 - 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 de 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. 2 - Gerenciamento de bancos de dados não-relacionais: modelos de dados (chave-valor, orientado a documentos, orientado a colunas e grafos) e sistemas. 3 - Ferramentas de apoio para o desenvolvimento do projeto conceitual, lógico e físico de bancos de dados. 4 - Prática da implementação de bancos de dados com seus procedimentos de inserção, remoção, alteração e consulta. 5 - Integração de bancos de dados a sistemas de software: padrões arquiteturais para o acesso a bancos de dados; arcabouços para persistência em bancos de dados. 6 - Prática da implementação de um sistema simples que empregue bancos de dados relacionais e não-relacionais como solução para o gerenciamento de seus dados.
Bibliografia Básica: 1 - H. Garcia-Molina, J. D. Ullman, J. Widom, Database Systems: The Complete Book, 2nd ed., Pearson Prentice Hall, 2009. 2 - R. Elmasri, S.B. Navathe, Sistemas de Bancos de Dados, 7ª ed., Addison-Wesley, 2019. 3 - P.J. Sadalage, M. Fowler, NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence, Addison Wesley, 2013. Biblioteca complementar: 1 - C.J. Date, Introdução a Sistemas de Bancos de Dados, 8a ed., Campus, 2004. 2 - T. J. Teorey, S. S. Lightstone, T. Nadeau, H. V. Jagadish, Database Modeling & Design: Logical Design, 5th edition, Morgan Kaufmann Publishers, 2011. 3 - M. Fowler, Patterns of Enterprise Application Architecture, Addison Wesley, 2007. 4 - Manuais das ferramentas de apoio ao desenvolvimento de banco de dados e dos gerenciadores de bancos de dados.