Programa de Ensino 20122
Aprovado pelo Departamento em: 11-7-2012
- Identificação:
- 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
- Curso(s):
- Ciências da Computação (208)
- Requisito(s):
- Ciências da Computação (208)
- INE5423 - Banco de Dados I
- 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.
- 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:
- Revisar e reforçar conhecimentos sobre organização e indexação de dados para suportar métodos de acesso eficientes;
- 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;
- Compreender o conceito de transação: seus estados e suas propriedades;
- 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;
- 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;
- 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;
- Ser capaz de aplicar as instruções da SQL embutida no código de uma aplicação que acessa um SGBD;
- 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.
- 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]
- 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.
- 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.