Expor os principais componentes da arquitetura dos sistemas gerenciadores de bancos de dados relacionais. Introduzir outras abordagens de representação e gerenciamento de dados, como os dados semiestruturados e os bancos de dados não relacionais.
Fundamentos da arquitetura dos sistemas gerenciadores de bancos de dados relacionais (armazenamento, indexação, processamento e otimização de consultas, controle de concorrência, recuperação de falhas). Dados semiestruturados e suas linguagens de consulta. Introdução aos bancos de dados paralelos e distribuídos. Introdução a bancos de dados não relacionais (chave-valor, orientados a documentos, orientados a colunas e orientados a grafos). Novas tecnologias para gerenciamento de dados em grande escala.
Fundamentos da arquitetura dos sistemas gerenciadores de bancos de dados relacionais: armazenamento e indexação dos dados; processamento e otimização de consultas; gerenciamento de transações, controle de concorrência e recuperação de falhas. Dados semiestruturados (por exemplo, XML e JSON); linguagens de consulta para dados semiestruturados. Bancos de dados paralelos e distribuídos: noções básicas e processamento de transações distribuídas (protocolo three-phase commit). Introdução a bancos de dados não relacionais, seus modelos de dados e suas implementações: bancos de dados chave-valor; bancos de dados orientados a colunas; bancos de dado orientados a documentos; bancos de dados orientados a grafos. Novas tecnologias para gerenciamento de dados em grande escala.
Bibliografia Básica: 1) R. Ramakrishnan, J. Gehrke, Sistemas de Gerenciamento de Banco de Dados, 3ª ed., McGraw Hill, 2008. 2) R. Elmasri, S.B. Navathe, Sistemas de Bancos de Dados, 6ª ed., Addison-Wesley, 2011. 3) I. Robinson, J. Webber, J. Webber, E. Eifrem, Graph Databases, O’Reilly Media, Inc”, 2013. Bibliografia Complementar: 4) C.J. Date, Introdução a Sistemas de Bancos de Dados, 8ª ed., Campus, 2004. 5) H. Garcia-Molina, J. D. Ullman, J. Widom, Database Systems: The Complete Book, 2nd ed., Pearson Prentice Hall, 2009 6) A. Silberschatz, H.F. Korth, S. Sudarshan, Database System Concepts, 6th ed., McGraw-Hill, 2010. 7) J.E. Ferreira, M. Finger, Controle de concorrência e distribuição de dados: a teoria clássica, suas limitações e extensões modernas, XII Escola de Computação, IME-USP, 2000. 8) M.T. Özsu, P. Valduriez, Principles of Distributed Database Systems, 3rd ed., Springer, 2011. 9) M. Fowler, D. Rice, M. Foemmel, E. Hieatt, R. Mee, R. Stafford, Patterns of Enterprise Application Architecture, Addison Wesley, 2002.