
Sistemas de Bases de Dados
Código
8281
Unidade Orgânica
Faculdade de Ciências e Tecnologia
Departamento
Departamento de Informática
Créditos
6.0
Professor responsável
Carlos Augusto Isaac Piló Viegas Damásio
Horas semanais
4
Total de horas
58
Língua de ensino
Português
Objectivos
Conhecimento:
- Conceitos fundamentais para o funcionamento de um sistema de bases de dados.
- Noções de indexação e hashing em bases de dados.
- Processamento e otimização de perguntas em bases de dados relacionais.
- Concorrência e processamento de transações em bases de dados.
- Noções básicas de bases de dados distribuídas.
Aptidões:
- Otimizar bases de dados para utilizações específicas.
- Otimizar o processamento de perguntas, e utilizar as ferramentas comuns em SGBD para esse propósito.
- Usar os mecanismo de controlo de transações em bases de dados.
- Usar um SGBD para implementação de uma base de dados distribuída
- Utilização do SQL e linguagens procedimentais com SQL.
Competências:
- Capacidade de trabalho em equipa.
- Capacidade de avaliar soluções com base em resultados experimentais.
- Capacidade de avaliação crítica.
Conteúdo
Implementação de SGBDs
1.1.Armazenamento e estrutura de ficheiros
1.2.Indexação
1.3.Hashing estático e dinâmic
Processamento e optimização de perguntas em SQL.
2.1.Processamento: esquema geral; algoritmos para operadores de álgebra relacional; composição de operadores por materializaçãoo e pipelining; algoritmos paralelos
2.2.Optimização: medidas de custo; estimativas associadas a planos de avaliação
Concorrência e processamento de transações
3.1.Introdução ao controlo de concorrência em bases de dados
3.2.Processamento de transações ACID e níveis de isolamento
3.3.Protocolos baseados em locks e em time-stamps
3.4.Protocolos multi-versão
3.5.Esquemas de recuperação em bases de dados
Fundamentos de Arquitecturas de Sistemas de Bases de Dados
4.1.Bases de dados centralizadas e cliente-servidor
4.2.Introdução às bases de dados distribuídas: homogéneas e heterogéneas; processamento de perguntas em bases de dados homogéneas; transações em bases de dados distribuídas
Bibliografia
Livros de Texto
- Database System Concepts. A. Silberschatz, H. Korth and S. Sudarshan, McGraw-Hill 2010.
- Database Systems: the complete book. H. Garcia-Molina, J Ulmann and J. Widom. Prentice Hall, 2009
Manuais
- Oracle 11g Documentation
Método de avaliação
Esquema Geral
A avaliação é composta por uma componente teórica-prática e por uma componente de projeto.
Ambas as componentes são avaliadas numa escala de 0 a 20, arredondado a unidades.
A nota final da disciplina é a média pesada das duas componentes, na qual a componente de projeto contribui com 25% e a componente teórica-prática com 75%.
Para obter aprovação à disciplina um estudante necessita ter uma classificação igual ou superior a 10 valores na componente teórica, e na nota final.
Não existem outra condições obrigatórias para obtenção de frequência
Componente teórica-prática
Esta componente é realizada através de 3 testes sem consulta, a realizar durante o semestre
Supletivamente, esta componente pode também ser realizada por exame de recurso.
Componente de projeto
Desta componente fazem parte a realização, apresentação e discussão de um trabalho, e ainda a realização de um relatório de avaliação de um outro grupo. O trabalho será feito essencialmente após a dada do 3º teste.
O trabalho é feito em grupos de exactamente 3 alunos.
Apesar do trabalho ser feito em grupo, a nota desta componente será sempre individual (e não atribuída ao grupo). Para ela contribuem o relatório feito em grupo, mas também o desempenho na apresentação oral e discussão, bem como o relatório de avaliação (feito individualmente) do trabalho de colegas.
O relatório de avaliação de outro grupo é individual.
Os alunos que tenham feito o trabalho prática nos dois últimos anos letivos podem, se quiserem, ficar nesta componente com a nota que tiveram nesse ano. Para isso basta não entregarem o trabalho este ano.