MAC0426 Sistemas de Bancos de Dados
Por | EmOBJETIVOS: 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 semi-estruturados e os bancos de dados não relacionais.
PROGRAMA RESUMIDO: 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). Paradigma de programação map-reduce.
PROGRAMA: 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 semi-estruturados (por exemplo, XML e JSON); linguagens de consulta para dados semi-estruturados. 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; paradigma de programação map-reduce.
RESPONSÁVEIS: João Eduardo Ferreira, Kelly Rosa Braghetto, Marcelo Finger.
PRÉ-REQUISITOS: MAC0350.
CARGA HORÁRIA SEMANAL E NÚMERO DE CRÉDITOS: 4 horas, 4 créditos-aula.
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 trabalhos de recuperação.
BIBLIOGRAFIA BÁSICA:
- R. Ramakrishnan, J. Gehrke, Sistemas de Gerenciamento de Banco de Dados, 3a ed., McGraw Hill, 2008.
- 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.
- H. Garcia-Molina, J. D. Ullman, J. Widom, Database Systems: The Complete Book, 2nd ed., Pearson Prentice Hall, 2009
- A. Silberschatz, H.F. Korth, S. Sudarshan, Database System Concepts, 6th ed., McGraw-Hill, 2010.
- 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.
- M.T. Özsu, P. Valduriez, Principles of Distributed Database Systems, 3rd ed., Springer, 2011.
- M.A. Casanova, A.V. Moura, Princípios de Sistemas de Gerência de Bancos de Dados Distribuídos, Campus, 1985.
- M. Fowler, D. Rice, M. Foemmel, E. Hieatt, R. Mee, R. Stafford, Patterns of Enterprise Application Architecture, Addison Wesley, 2002.
- P.J. Sadalage, M. Fowler, NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence, Addison Wesley, 2011.
OBSERVAÇÃO: Disciplina optativa eletiva do BCC.
[Veja dados da disciplina no JúpiterWeb]
Alguns oferecimentos da disciplina: 1997/2, 1999/2, 2000/2.