MINISTÉRIO DA EDUCAÇÃO

UNIVERSIDADE FEDERAL DE SANTA CATARINA

CENTRO TECNOLÓGICO

DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA

PROGRAMA DE ENSINO

1. Identificação

Disciplina:INE5432 - Banco de Dados II
Nível:Graduação
Carga Horária:72 horas-aula (Teórica: 72)
Vigência:De 2012-2 até a presente data

2. 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.

3. Cursos Relacionados

4. Objetivos

4.1 Objetivo 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.

4.2 Objetivos 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.

5. Conteúdo Programático

  1. Introdução ao processamento de consultas [4 horas-aula]
    1. Organização e indexação de dados para acesso eficiente
  2. Otimização algébrica de consultas [6 horas-aula]
    1. Regras de equivalência algébrica
    2. Algoritmo de otimização
  3. Plano de execução de uma consulta [4 horas-aula]
    1. Catálogo do BD e estimativas sobre os dados
    2. Técnicas para processamento de operações algébricas, considerando índices e pipelines
  4. Introdução a transações [6 horas-aula]
    1. Definição, propriedades e estados de uma transação
    2. Escalonamento de operações
  5. Recuperação de falhas [10 horas-aula]
    1. Tipos de falhas
    2. Gerência de buffer
    3. Técnicas de recuperação
  6. Controle de concorrência [14 horas-aula]
    1. Teoria da serializabilidade
    2. Técnicas otimistas e pessimistas
    3. Tratamento de deadlock
  7. Introdução a Bancos de Dados Distribuidos [16 horas-aula]
    1. Arquiteturas de BDD
    2. Noções de projeto de BDD
    3. Processamento de consultas em BDD
    4. Gerência de transações em BDD
  8. SQL embutida [4 horas-aula]
    1. Instruções estáticas e dinâmicas
    2. Cursores
  9. Tópicos em bancos de dados [8 horas-aula]

6. Bibliografia Básica

  1. 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).
  2. Korth, H. F.; Sudarshan, S; Silberschatz, A. Sistema de Banco de Dados. 5a edição. Editora Campus, 2006.
  3. Ramakrishnan, R., Gehrke, J. Database Management Systems. 3th ed. McGraw Hill. 2003.

7. Bibliografia Complementar

  1. Korth, H. F.; Sudarshan, S; Silberschatz, A. Sistema de Banco de Dados. 6a edição. Editora Campus, 2010.
  2. Garcia-Molina, H.; Ullma, J. D; Widom, J. Implementação de sistemas de banco de dados. Rio de Janeiro: Campus, 2001.
  3. 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).
  4. Ö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.)
  5. Bernstein, P. A.; Hadzilacos, V.; Goodman, N. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.