MAC0426  Sistemas de Bancos de Dados

Por | Em

OBJETIVOS:  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.