Departamento de Informática e Estatística

Programas de Ensino
Visitante (Entrar)

Programa de Ensino 20122

Aprovado pelo Departamento em: 11-7-2012

  1. Identificação: Visualizar em PDF
    • Disciplina: INE5432 - Banco de Dados II
    • Carga horária: 72 horas-aula      Teóricas: 72      Práticas: 0
    • Período: 2º semestre de 2012 até a presente data
  2. Curso(s):
    • Ciências da Computação (208)
  3. Requisito(s):
    • Ciências da Computação (208)
      • INE5423 - Banco de Dados I
  4. Ementa:
    • SQL embutida: instruções estáticas e dinâmicas, cursores. Processamento de consultas: otimização algébrica; plano de execução de uma consulta considerando estimativas sobre os dados, índices, buffers e pipelines. Transações: definição, propriedades, estados. Recuperação de falhas: categorias de falhas, gerência de buffer, técnicas de recuperação. Controle de concorrência: teoria da serializabilidade, escalonadores otimistas e pessimistas, tratamento de deadlock. Noções básicas de bancos de dados distribuídos: arquiteturas, projeto, processamento de consultas, gerência de transações.
  5. Objetivo(s):
    • Geral: Fornecer ao aluno uma visão geral das técnicas de gerenciamento interno de um Sistema de Gerência de Banco de Dados (SGBD), bem como uma introdução a BDs Distribuídos (BDD) e à SQL embutida. Ao final da disciplina, o aluno deverá ser capaz de entender, avaliar e empregar adequadamente os recursos de SGBDs em geral, conhecer os fundamentos de BDDs e alguns BDs não-convencionais.
    • Específicos:
      1. Revisar e reforçar conhecimentos sobre organização e indexação de dados para suportar métodos de acesso eficientes;
      2. Familiarizar o aluno a sistemática de processamento de consultas em SGBDs, compreendendo os principais algoritmos envolvidos e as etapas de otimização algébrica e definição de plano de execução;
      3. Compreender o conceito de transação: seus estados e suas propriedades;
      4. Conhecer os tipos de falhas que podem ocorrer em um SGBD e as técnicas de recuperação das transações do BD na ocorrência de falhas;
      5. Conhecer as técnicas para a correta execução concorrente de transações em um SGBD e a recuperação dos estado do BD em caso de falhas;
      6. Familiarizar-se com os conceitos e noções de projeto de BDDs e entender, de maneira geral, as suas técnicas de gerenciamento de transações e de processamento de consultas;
      7. Ser capaz de aplicar as instruções da SQL embutida no código de uma aplicação que acessa um SGBD;
      8. Ter uma visão das tendências em BDs e noções de tecnologias de BDs não-convencionais, tais como orientados a objetos, NO-SQL, geográficos, temporais, multimídia e semi-estruturados, através de seminários e aulas sobre tópicos avançados.
  6. Conteúdo Programático:
    • Introdução ao processamento de consultas [4 horas-aula]
      • Organização e indexação de dados para acesso eficiente
    • Otimização algébrica de consultas [6 horas-aula]
      • Regras de equivalência algébrica
      • Algoritmo de otimização
    • Plano de execução de uma consulta [4 horas-aula]
      • Catálogo do BD e estimativas sobre os dados
      • Técnicas para processamento de operações algébricas, considerando índices e pipelines
    • Introdução a transações [6 horas-aula]
      • Definição, propriedades e estados de uma transação
      • Escalonamento de operações
    • Recuperação de falhas [10 horas-aula]
      • Tipos de falhas
      • Gerência de buffer
      • Técnicas de recuperação
    • Controle de concorrência [14 horas-aula]
      • Teoria da serializabilidade
      • Técnicas otimistas e pessimistas
      • Tratamento de deadlock
    • Introdução a Bancos de Dados Distribuidos [16 horas-aula]
      • Arquiteturas de BDD
      • Noções de projeto de BDD
      • Processamento de consultas em BDD
      • Gerência de transações em BDD
    • SQL embutida [4 horas-aula]
      • Instruções estáticas e dinâmicas
      • Cursores
    • Tópicos em bancos de dados [8 horas-aula]
  7. Bibliografia Básica:
    • Elmasri, R.; Navathe S. B. Sistemas de Banco de Dados. 6a edição. Editora Pearson. 2011. (em inglês: Elmasri, R.; Navathe S. B. Fundamentals of Database Systems. 6th. edition Pearson. 2011).
    • Korth, H. F.; Sudarshan, S; Silberschatz, A. Sistema de Banco de Dados. 5a edição. Editora Campus, 2006.
    • Ramakrishnan, R., Gehrke, J. Database Management Systems. 3th ed. McGraw Hill. 2003.
  8. Bibliografia Complementar:
    • Korth, H. F.; Sudarshan, S; Silberschatz, A. Sistema de Banco de Dados. 6a edição. Editora Campus, 2010.
    • Garcia-Molina, H.; Ullma, J. D; Widom, J. Implementação de sistemas de banco de dados. Rio de Janeiro: Campus, 2001.
    • Date, C.J. An introduction to database systems, Addison-Wesley, 8th edition, 2003. (Tradução: Introdução a Sistemas de Bancos de Dados, Editora Campus, 2004).
    • Özsu, M.; Valduriez, P. Princípios de Sistemas de Banco de Dados Distribuídos. 2a ed. Editora Campus, 2001 (em inglês Özsu, M.; Valduriez, P. Principles of Distributed Database Systems. 2a ed. Prentice Hall, 2001.)
    • Bernstein, P. A.; Hadzilacos, V.; Goodman, N. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.