Programa de Ensino 20082
Aprovado pelo Departamento em: 8-7-2008
- Identificação:
- Disciplina: INE5336 - Banco de Dados II
- Carga horária: 72 horas-aula
Teóricas: 56
Práticas: 16
- Período:
Início da oferta da disciplina até a presente data
- Curso(s):
- Ciências da Computação (208)
- Requisito(s):
- Ciências da Computação (208)
- INE5323 - Banco de Dados I
- Ementa:
- Arquitetura genérica de um sistema de banco de dados distribuidos, requisitos funcionais, componentes, distribuição de arquivos e diretórios, fragmentação e alocação de arquivos, níveis de transparência e processamento de consultas, tópicos complementares.
- 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 Bancos de Dados Distribuídos (BDD) e à SQL embutida.
- Específicos:
- Familiarizar-se com técnicas fundamentais de acesso e indexação de dados em memória de massa, bem como processamento e otimização de consultas sobre esses dados, compreendendo as etapas de otimização algébrica e definição do plano de execução.
- Compreender o conceito de transação, seus estados e propriedades, os princípios e técnicas fundamentais de controle de acesso concorrente a dados por diferentes transações e as técnicas de recuperação de banco de dados em caso de falhas durante o processamento de transações.
- Familiarizar-se com os conceitos e técnicas fundamentais de sistemas de bancos de dados distribuídos (BDDs), de modo a ser capaz de projetar um BDD, alem de entender e utilizar adequadamente mecanismos de processamento de consulta, processamento de transações e recuperação de falhas em BDDs.
- Capacitar-se a aplicar as instruções da SQL embutida no código de uma aplicação que acessa um SGBD.
- Conteúdo Programático:
- Acesso e indexação de dados em memória de massa [6 horas-aula]
- Processamento e otimização de consultas [14 horas-aula]
- Introdução ao processamento de consultas
- Otimização algébrica de consultas
- Algoritmos de execução dos operadors básicos de consulta
- Catálogo do BD e estimativas sobre os dados
- Definição do plano de execução de uma consulta
- Processamento de transações e controle de concorrência [14 horas-aula]
- Definição de transação, suas propriedades e estados
- Escalonadores de operações de transações
- Teoria da serializabilidade
- Técnicas de serialização
- Tratamento de deadlock
- Recuperação de falhas [12 horas-aula]
- Introdução
- Tipos de falhas
- Gerência de buffer
- Técnicas de recuperação de bancos de dados
- Bancos de dados distribuídos (BDD) [20 horas-aula]
- Conceito, vantagens, desvantagens e requisitos de um BDD
- Arquiteturas de BDD
- Projeto de BDD
- Processamento de consultas em BDD
- Gerência de transações em BDD
- Recuperação de falhas em BDD
- SQL embutida [6 horas-aula]
- Instruções SQL estáticas e dinâmicas
- Cursores
- Bibliografia Básica:
- 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.
- Korth, H.F. e Silberschatz, A. Sistemas de Bancos de Dados, Makron Books, 5a. edição, Editora Campus, 2006.
- Bibliografia Complementar:
- Elmasri, R. and Navathe, S.B. Fundamentals of database systems, 4th. edition, Addison-Wesley, 2003. (Tradução: Sistemas de Banco de Dados, Addison-Wesley, 2005
- Ramakrishnan, R. Database management systems, McGraw-Hill, 3rd edition, 2003.
- O'Neil, D. and O'Neil, E. Database: Principles, Programming Performance, Morgan Kaufmann, 2001.
- Garcia-Molina, H. and Ullman, J.D. and Widom, J. Database System Implementation, Prentice-Hall, 2000.
- Özsu, M.T. and Valduriez, P. Princípios de Sistemas de Bancos de dados Distribuídos, Editora Campus, 2001 (tradução da 2a edição norte-americana).
- Bernstein, P. A.; Hadzilacos, V.; Goodman, N. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.